有像GDB功能的“观察窗口”吗?

时间:2018-01-17 11:09:52

标签: gdb

gdb中,当它遇到断点时,我需要使用printprint/x函数逐个手动调查变量值。

是否有更简单的方法可以在遇到断点时列出所有选定变量的值,通常称为GUI调试器的“监视窗口”?

1 个答案:

答案 0 :(得分:1)

可以在断点上执行命令。

来自docs:

break foo
commands
printf "x is %d\n",x
end

或者将命令添加到某个现有断点(在这种情况下为断点3):

commands 3
print x
print y
end

或者创建一个将打印添加到断点的命令:

define addwatch
commands $arg0
print x
print y
end
end

然后使用:

addwatch 3

或者创建一个设置断点并向其添加打印的命令。

脚本可以存储在.gdbinit中,因此它们会自动加载。该语言是GDB语法或Python。

P.S。有些人通过在命令列表的末尾添加continue来跟踪此操作:这样就打印了变量,但应用程序不会在断点处停止。