有没有办法在GDB中引用最后创建的项目(watch,break,disp)?

时间:2011-11-23 21:46:27

标签: gdb

有没有办法可以为GDB编写初始化文件的脚本,而不是:

break file.c:1234
commands 1
# ... fancy commands
end

... 如果我可以写下这样的内容:

break file.c:1234 $line1234
commands  $line1234
# ... fancy commands
end

...即记住分配给断点,观察点等的号码 - 我将能够继续使用最后创建的项目/实体。该问题也适用于dispwatch和其他人。

只有当你有许多断点时,这才会变得相关,但它会非常有用。我无法从文档中挖掘出任何东西。

如果只有一个魔术变量可用于分别引用每种类型的最后一个创建的项目,例如,这也是有用的。 $lastbp$lastwp$lastdisp ...


我想或许更好的例子就是手边的那个:

break file.c:1234 $line1234
commands  $line1234
# ... fancy commands
end
ignore $line1234 42

1 个答案:

答案 0 :(得分:1)

最近的GDB版本(7.3)expose breakpoints to Python scripting.

您可以编写Python脚本来设置它们,在它们上设置条件和命令等等。