1.编译
编译时使用gcc -g 选项添加调试信息 eg:gcc -g test.c -o test
2.启动
gdb test
3.调试用到的主要命令
1.显示代码
命令:l [行号] eg: l 1 表示从第一行开始显示
- 先设置断点(挑两种主要的)
行数断点:break 行数 eg: break 20
函数断点:break 函数名 eg: break main
断点查看:info break [breakNum]
断点删除:delete [breakNum] 或 [numRange]
- 运行程序
运行:run命令,程序会运行到breakpoint点
- 从断点开始单步调试
用step命令 简称s,遇到函数时,要进入函数,就s
next 简称n,不进入函数就执行完函数,这个在遇到标准库函数时需要用n
5.反向调试,如:回退到上一步
先输入target record-full命令 使能为调试记录状态
再reverse-step即可回到上一步
6.变量的显示,设置
变量当前值显示:display显示所有变量值 | p arg 显示指定变量
变量参数设置: set var arg=what eg set var i=1;
7.变量监视:watch arg: watch i