继续运行程序。程序将在第 54 行停止之前运行状态机 3 次。要查看 n_state_3_count
的值,请输入:
print n_state_3_count
使断点成为条件断点
你也可以使现有断点成为条件断点。用 clear 54
命令删除最近添加的断点,并通过输入break 54
命令添加一个简单的断点。你可以输入以下内容使此断点成为条件断点:
condition 3 n_state_3_count == 9
3
指的是断点编号。
在其他源文件中设置断点
如果你的程序由多个源文件组成,你可以在行号前指定文件名来设置断点,例如,break main. cpp:54
。
捕捉点
除了断点和监察点之外,你还可以设置捕获点。捕获点适用于执行系统调用、加载共享库或引发异常等事件。
要捕获用于写入 STDOUT 的 write
系统调用,请输入:
catch syscall write
每当程序写入控制台输出时,GDB 将中断执行。
在手册中,你可以找到一整章关于 断点、监察点和捕捉点的内容。
评估和操作符号
用 print
命令可以打印变量的值。一般语法是print
。修改变量的值,请输入:
set variable
在下面的截屏中,我将变量 n_state_3_count
的值设为123
。