调试
文章平均质量分 58
DADA2ndTIAN
这个作者很懒,什么都没留下…
展开
-
LINUX 动态调试 DYNAMIC DEBUG 使用
打开动态调试配置CONFIG_DYNAMIC_DEBUG=y,CONFIG_DEBUG_FS=y使用可以按需要,模块,文件,行号,格式,选择调试输出同时也支持打印行号,模块名,等打开调试// 提供NFS服务模块所有的信息nullarbor:~ # echo -n ‘module nfsd +p’ > /dynamic_debug/control// 提供函数svc_process()的所有信息nullarbor:~ # echo -n ‘func svc_process +p’ &原创 2021-06-03 20:28:45 · 1500 阅读 · 0 评论 -
gdb调试常用命令
编译:加上 -g 选项 编译可执行文件 得到调试表使用: gdb 可执行文件名gdb 调试命令说明list / l列出源码,方便根据源码行号设置断点break/bb n 在第 n 行 设置断点 b if expr 设置条件断点info b查看断点run / r [arg1] [arg2]运行程序 ,查找段错误出现位置 ;后面也可以跟main 参数,运行时传参next/n下一条指令,越过函数step/s下条指令,进入函数print原创 2020-12-05 12:05:33 · 213 阅读 · 0 评论 -
linux c 用户态调试追踪函数调用堆栈以及定位段错误
转自 https://www.cnblogs.com/listenerln/p/6382272.html一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。int bac...转载 2019-09-27 11:31:43 · 759 阅读 · 0 评论 -
linux 如何打印函数指针的函数名
原文链接:https://yq.aliyun.com/articles/363290Symbols/Function Pointers:%pF versatile_init+0x0/0x110%pf versatile_init %pS versatile_init+0x0/0x110%pSR versatile_init+0x9/0x110(with __builtin_extract...转载 2019-10-10 14:12:17 · 1184 阅读 · 0 评论