【问题标题】:How to do a specific action when ANY Unknown Breakpoint gets Hit in GDB当任何未知断点在 GDB 中被命中时如何执行特定操作
【发布时间】:2013-08-16 10:33:59
【问题描述】:

我已阅读以下 SO 问题: Do specific action when certain breakpoint hits in gdb

在这里,我们使用“命令”来决定当指定的断点被击中时要做什么。

我的问题是:

假设我在所有匹配给定模式的函数上放置断点:

gdb$rbreak func_

=> 100 个断点(比如说)

当我执行此代码时,我想执行相同的操作 - 在点击这些功能中的每一个时。

因此,我无法定义如下内容:

command break_point_number 

// 因为我不知道会有多少断点

有人可以推荐我吗:

当任何断点在 GDB 中被命中时,我如何执行特定的操作集?

谢谢。

【问题讨论】:

    标签: gdb trace


    【解决方案1】:

    使用足够新的 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”。这很痛苦。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-11
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      相关资源
      最近更新 更多