我正在编写 gdb 命令脚本来简化调试。我遇到的一个问题是我正在设置一个断点,我想在之后禁用它,并且只有在命中另一个断点后才启用它。
我想做的是这个
$my_break_number = break SomeFile.cpp:231
disable $my_break_number
但不幸的是 gdb 不能这样工作。我已阅读手册,但找不到有关如何执行此操作的任何信息。希望有一些我错过的信息。
我正在编写 gdb 命令脚本来简化调试。我遇到的一个问题是我正在设置一个断点,我想在之后禁用它,并且只有在命中另一个断点后才启用它。
我想做的是这个
$my_break_number = break SomeFile.cpp:231
disable $my_break_number
但不幸的是 gdb 不能这样工作。我已阅读手册,但找不到有关如何执行此操作的任何信息。希望有一些我错过的信息。
gdb 将使用最后设置的断点编号自动设置便利变量 $bpnum。
您可以在设置断点以禁用它之后使用它(我没有测试过断点不明确并创建多个断点时,我认为它可以工作并禁用所有创建的断点位置。)
见:http: //sourceware.org/gdb/current/onlinedocs/gdb/Set-Breaks.html#Set-Breaks
如果您需要使用命令中的断点编号,那可能不是您想要的,但它适用于指定的问题。
听起来您可能想要使用Python GDB scripting ,与“常规”命令脚本相比,它为您提供了对断点的更好的编程访问。
还info breakpoints
提供有用的信息,例如:
断点数,断点被击中的次数,内存中的地址,它在什么函数中,断点的文件和行号