我们在用不管是C还是其它语言编写代码的时候,使用过的调试方法
(1)最简单粗暴的方法,使用printf打印某个(些)变量的值,验证是否是我们想要的结果
(2)有时候用肉眼很难检查出潜在的bug(特别是遇到段错误的时候),使用linux自带的调试工具gdb
gdb 可执行文件名
(如果带参数)r 指定参数 回车运行
可以单步调试s(step)或者n(next),它俩的区别是n(next)不会进入函数体,s(step)会进入会进入函数体
设置断点:
b 文件名:行号
b 文件名:函数名
删除断点:del(d) 断点编号
还有很多gdb的调试命令,后续补充
(3)生成core文件
使用命令ulimit -c unlimited
gdb core.*(执行可执行程序后生成的core文件名称)
(4)objdump
执行objdump -d test.o > ass.txt
生成汇编代码定向到ass.txt中,方便我们查看分析