我正在编写一些gdb命令脚本来简化调试。我遇到的问题之一 是我正在设置一个断点,我想在之后禁用它,并且只在另一个断点被击中后启用它。
我想做的是这个
$my_break_number = break SomeFile.cpp:231
disable $my_break_number
但遗憾的是gdb不能这样工作。我已阅读本手册,但我找不到有关如何执行此操作的任何信息。希望有一些我错过的信息。
答案 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
提供有用的信息,例如:
断点的数量,断点的次数,内存中的地址,它在什么函数中,断点的文件和行号