从gdb获取断点号

时间:2012-06-13 12:59:10

标签: gdb

我正在编写一些gdb命令脚本来简化调试。我遇到的问题之一 是我正在设置一个断点,我想在之后禁用它,并且只在另一个断点被击中后启用它。

我想做的是这个

$my_break_number = break SomeFile.cpp:231
disable $my_break_number

但遗憾的是gdb不能这样工作。我已阅读本手册,但我找不到有关如何执行此操作的任何信息。希望有一些我错过的信息。

3 个答案:

答案 0 :(得分:6)

gdb会自动设置一个方便变量$ bpnum和最后设置的断点号。

您可以在设置断点后使用它来禁用它(我没有测试断点是不明确的并创建多个断点,我认为它会工作并禁用所有创建的断点位置。)

请参阅:http://sourceware.org/gdb/current/onlinedocs/gdb/Set-Breaks.html#Set-Breaks

如果您需要使用命令中的断点号,这可能不是您想要的,但它适用于指定的问题。

答案 1 :(得分:3)

听起来你可能想要使用Python GDB scripting,这比使用“常规”命令脚本可以提供更好的编程access to breakpoints

答案 2 :(得分:0)

还有 info breakpoints 提供有用的信息,例如:

断点的数量,断点的次数,内存中的地址,它在什么函数中,断点的文件和行号