我已阅读以下SO问题: Do specific action when certain breakpoint hits in gdb
在这里,我们使用'command'来决定当SPECIFIED Breakboint被击中时该怎么做。
我的问题是:
假设我在所有与给定模式匹配的函数上放置了断点:
gdb$rbreak func_
=> 100个断点(比如说)
当我执行此代码时,我想执行相同操作 - 点击其中的每个功能。
因此,我无法定义类似的内容:
command break_point_number
//因为我不知道会有多少个断点
有人可以建议我:
当任何断点在GDB中命中时,如何进行特定的操作设置?
感谢。
答案 0 :(得分:3)
使用足够新的gdb版本,您可以使用范围:
(gdb) rbreak whatever
... gdb creates breakpoints N, N+1, ..., M
(gdb) commands N-M
> stuff
> end
我忘了这个功能何时进入。
对于旧版本的gdb,我不确定它是否可以轻松完成。
可以很难完成:使用set logging将输出写入文件,然后使用“info break”,然后使用“shell”运行脚本以将文件编辑为gdb命令,然后使用“source”。这非常痛苦。