第 10 章 gdb
一、参考网址
二、命令列表
1、图1:
2、图2:
3、图3:
三、重点摘抄
1、断点与观测点的区别
我们知道断点是当程序执行到某一代码行时中断,而观察点是当程序访问某个存储单元时中断,如果我们不知道某个存储单元是在哪里被改动的,这时候观察点尤其有用
2、display命令和p命令
1)display命令:跟踪查看某个变量,每次停下来都显示它的值
2)p命令:打印表达式的值,通过表达式可以修改变量的值或者调用函数; 每次输入才会显示结果
3、n(next)命令和s(step)命令
1)next命令:执行下一行语句
2)step命令:执行下一行语句,如果有函数调用则进入到函数中
4、c(continue)命令和r(run)命令
1)continue命令:从当前位置开始连续运行程序
2)run命令:从头开始连续运行程序
5、start命令
start命令:开始执行程序,停在main
函数第一行语句前面等待命令
在输入命令后: gdb xxx, 需要输入start才开始执行程序
与run命令的区别:run命令是从头开始连续运行程序
6、b ... if ....命令
b ... if ...命令: 设置条件断点, 注意if后面的条件语句,如 b 7 if i == 6 语句, 其 i、==与6之间需要空格
7、bt(backtrace)命令
bt命令:查看各级函数调用及参数;配合i/info locals, 可以查看当前栈帧局部变量的值;配合 f/(frame) 帧编号,可以选择帧栈