【发布时间】:2020-07-05 15:16:38
【问题描述】:
我想在 C 中跟踪一个函数中所有变量的状态。
我知道我可以在 gdb 中使用 info 命令来获取当前上下文中的所有变量状态。
我可以使用 gdbinit 来自动化 gdb。
但我想做的是在函数处设置一个断点,然后在执行每一行 print 后执行 info 命令。
基本上,我想设置 2 个断点:一个在函数的开头,一个在同一函数的结尾(我不知道怎么做),并在这两个点之间逐行执行。
我想在我的gdbinit 中添加这样的内容:
b <func_name>
commands
while <inside the function>:
info locals
next
end
run
有没有办法让上面显示的while循环?
【问题讨论】:
-
您在寻找gdb breakpoint commands吗?它允许您配置一个或多个命令以在每次命中断点时运行。
-
@kaylum 是这样的。我已经看过文档了。但我想要的是不同的东西。我编辑了我的问题以反映我在寻找什么。
-
你试过使用
display和undisplay吗? -
这不是我想要的。
display会在我做正确的事情时显示变量的状态(例如输入next)。但我想自动化这个,这样我就不会在我的命令中多次写下一次。
标签: c automation scripting gdb gdbinit