GDB
gdb是一个调试工具。
如希望程序可调试,编译时需加 -g
选项且不可使用优化选项 -O
。
安装
1、通过yum安装 yum -y install gdb
。
2、本地编译安装。
使用
通过 gdb demo
进入demo程序的调试过程。
常用命令
1、set args a b
设置参数 a b ,可以多个参数。
2、break
可以简写为 b
,设置断点,跟行号即可。例如: b 12
,即在第12行设置断点。
3、run
可简写为 r
,开始运行程序,至断点处停止,如无断点直至程序结束。
4、next
可简写为 n
,执行当前行语句,如该语句为函数,不会进入函数内部。
5、step
可简写为 s
,执行当前行语句,会进入函数内部,但无法进入第三方库的函数。(需要有源码)。
6、continue
可以简写为 c
,继续运行程序。
7、print
可以简写为 p
,显示变量或表达式,如为表达式会执行表达式并显示结果。
8、quit
可以简写为 q
,即退出gdb
9、set var
设置变量,可以改变 变量的值,通过 p a=1
也可同样实现。
core文件调试
linux 缺省时不会生成core文件需要配置。配置方法 ulimit -a
查看对应参数,修改参数可以根据 -a 查询对应名字操作 ulimit -c ulimit
。此时出现段错误时,可通过 gdb core.dong
进行调试了。
调试运行中的程序
调试运行中的程序,需要得到进程编号 1111
。可通过 gdb demo -p 111
进行调试操作。