【问题标题】:GDB: How to get execution historyGDB:如何获取执行历史
【发布时间】:2012-08-21 18:27:33
【问题描述】:

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

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

问候, 尼基尔。

【问题讨论】:

    标签: gcc gdb


    【解决方案1】:

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

    来自链接的 wiki 页面:

    用 -g 编译这个程序,并将它加载到 gdb 中,然后执行 以下:

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

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

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

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

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2016-08-05
        • 2019-07-26
        • 1970-01-01
        • 2021-01-17
        • 1970-01-01
        • 2011-01-16
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        相关资源
        最近更新 更多