GDB调试常用方法

最近使用了gdb进行测试程序调试,这里刚好进行下记录

使用gdb进行调试之前,需要在编译程序时,要加入-g选项,在可执行文件中添加调试符号表

启动调试也很简单,gdb ./test即可。如果程序有参数输入,那么则使用gdb --args ./test args1 args2

启动调试之后,按下r键让程序开始运行。r即为restart,令程序直接从头开始运行

b即为breakpoint,进行断点设置。具体的设置方式是,b <源码文件>:<行号>

查看堆栈时,使用bt命令,会显示出来当前程序的调用堆栈,使用f <堆栈号>选择相应的堆栈进行查看

选择了对应的堆栈之后,使用info locals输出当前的局部变量

info threads显示出当前所有的线程,thread <线程号>进入对应的线程

c为continue,执行到下一个断点的位置

n为next,执行到下一行

s为step in,若此行有调用函数,则会进入被调用的函数中,进行单步调试

p为print,打印输入对应的变量或者表达式结果,用法为p <变量名>

Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注