【问题标题】:GDB traces automaticallyGDB 自动跟踪
【发布时间】:2014-06-10 04:25:29
【问题描述】:

如果我设置了一个断点并且如果 GDB 命中了断点,那么它会显示代码行。如果我输入 n 或下一个,那么 GDB 会打印出下一行代码。

我想知道是否有一种方法可以跟踪通过 GDB 执行的实际代码行。

例如,如果我输入 n 或接下来 100 次,那么我将得到 100 行代码的痕迹。我想自动执行此操作,而不是通过输入 n 或下一步。

【问题讨论】:

    标签: gdb


    【解决方案1】:

    请注意,像您希望的那样收集next 跟踪不太可能帮助您在任何实际大小的程序中调试实际问题:程序大部分时间都花在循环中,重复执行next 只会给您一个永无止境的循环重复流。

    也就是说,你可以像这样实现你想要的:

    (gdb) shell perl -e 'print "n\n" x 100' > gdb.cmd
    (gdb) source gdb.cmd
    

    【讨论】:

      【解决方案2】:

      在当前位置 100 行处设置断点并继续执行

      【讨论】:

      • 这将如何收集接下来执行的 100 行的跟踪信息?
      猜你喜欢
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 2017-02-11
      • 2013-05-26
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      相关资源
      最近更新 更多