使用场景:程序编译无误,但是有逻辑错误。
- 前提条件:可执行程序必须包含调试信息 gcc -c
- gdb 文件名 —启动gdb调试
- 查看代码的命令:
当前文件:list 行号(函数名)
指定文件:文件名:行号(函数名)
4. 设置断点:
当前文件:b 行号(函数名);指定文件:b 文件名:行号(函数名)
设置条件断点: b 行号 if 条件
查看断点信息:info b
删除断点:d 断点的编号
- 开始调试
只执行一行代码:start
继续执行停在断点处:continue-----c
直接停在断点处:run-----r
- 单步调试
进入函数体:step-----s
跳出函数体:finish(如果循环处有断点,需要将断点删除)
不进入函数:next-----n
- 追踪变量
自动打印变量的值:display 变量名
取消变量的追踪:undisplay 编号
获取编号:info display
手动打印变量的值:print-----p
获取变量对应的类型:ptype