GDB调试器的使用
一般来说,GDB主要帮助你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。
4、动态的改变你程序的执行环境。
--《GDB使用手册》
要想使用gdb调试器调试程序首先要生成执行文件,这里用test.c来做示范
第一步,gcc -g test.c -o test生成 test可执行文件,第二步 gdb test 启动gdb调试然后就可以使用下面的指令了。
list 查看源码(显示不完全)想显示下面的代码可以再输入一次list
run 运行程序
break 21 代表在21行所在位置设置一个断点,当执行到21行时会停住,注意21行并没有执行。
break 21 if i = 10 运行到i=10时停止
print i i代表代码中的一个变量, 执行此命令可以打印出此时i的值
next 执行下一步,当程序在断点处停止时,可以用此命令让程序执行下一步,注意如果下一次执行有函数的话则不会进入函数
step 和next作用相同,唯一的不同点就是step可以进入函数
continue 继续往下执行直到程序结束,当在断点处停止时执行此命令程序会执行完毕
info break 查看断点信息
delete 1 删除1号断点
quit 推出gdb调试
finish 结束当前函数