(1)gdb调试的过程:
- 进入编译:gdb test
- 显示需要编译调试的源程序:l
- 设置断点:b(break)行号
- 查看设置的断点:info b
- 运行调试程序:run
- 调到下一个断点:c(continue)
- 单步运行:n(next)/s(step into)调到函数体(两者的区别在于next执行循环体,而step不执行循环体)
- 调试过程中查看某个变量的变化:print i
- 退出当前的调试:finish
- 清除断点:clear 行号
- 删除所有断点或者设置的要删除的断点:delete 断点
- 退出调试:q
(2)core文件调试的过程:
- ulimit -c 查看core文件的大小
- ulimit -c -size 设置core文件的大小
- ./main -core.xxxx生成一个文件后缀是pid.
- gdb core.xxxx文件
- file ./main
- bt
- 找到断点