【发布时间】:2014-06-10 04:25:29
【问题描述】:
如果我设置了一个断点并且如果 GDB 命中了断点,那么它会显示代码行。如果我输入 n 或下一个,那么 GDB 会打印出下一行代码。
我想知道是否有一种方法可以跟踪通过 GDB 执行的实际代码行。
例如,如果我输入 n 或接下来 100 次,那么我将得到 100 行代码的痕迹。我想自动执行此操作,而不是通过输入 n 或下一步。
【问题讨论】:
标签: gdb
如果我设置了一个断点并且如果 GDB 命中了断点,那么它会显示代码行。如果我输入 n 或下一个,那么 GDB 会打印出下一行代码。
我想知道是否有一种方法可以跟踪通过 GDB 执行的实际代码行。
例如,如果我输入 n 或接下来 100 次,那么我将得到 100 行代码的痕迹。我想自动执行此操作,而不是通过输入 n 或下一步。
【问题讨论】:
标签: gdb
请注意,像您希望的那样收集next 跟踪不太可能帮助您在任何实际大小的程序中调试实际问题:程序大部分时间都花在循环中,重复执行next 只会给您一个永无止境的循环重复流。
也就是说,你可以像这样实现你想要的:
(gdb) shell perl -e 'print "n\n" x 100' > gdb.cmd
(gdb) source gdb.cmd
【讨论】:
在当前位置 100 行处设置断点并继续执行
【讨论】: