GDB:如何获取执行历史记录

时间:2012-08-21 18:27:33

标签: gcc gdb

我对编译器领域很陌生。我正在使用gcc,我想获得特定运行程序的执行历史记录,即只有那些在上次运行中实际执行的语句。

gdb可以吗?我无法在gdb中获得可以输出已执行语句的相关选项。 或者还有其他获取执行历史的方法吗?

此致 尼基尔。

2 个答案:

答案 0 :(得分:5)

Process Record可能是您正在寻找的。该链接有一个快速教程和功能概述。

来自链接的维基页面:

  

使用-g编译该程序,并将其加载到gdb中,然后执行   以下内容:

 (gdb) break main  
 (gdb) run  
 (gdb) record
     

这将打开进程记录,现在将记录正在调试的程序执行的所有后续指令。

     

请注意,您可以随时启动过程录制(不仅仅是在   主要)。您可以选择稍后或甚至更早开始。唯一的   限制是你的程序必须运行(所以你必须   在“记录”之前输入“run”)。如果你想从中开始录音   你的程序的第一个指令,你可以这样做:

 (gdb) break _start   
 (gdb) run   
 (gdb) record

希望这会有所帮助。

答案 1 :(得分:0)

您可以使用set history save命令开始录制历史记录。这可以写入~/.gdbinit文件。 Look at the docs了解更多信息。