GDB:如何获取执行历史
Posted
技术标签:
【中文标题】GDB:如何获取执行历史【英文标题】:GDB: How to get execution history 【发布时间】:2012-08-21 18:27:33 【问题描述】:我对编译器领域很陌生。我正在使用 gcc,我想获取特定运行的程序的执行历史记录,即只有那些在上次运行中实际执行的语句。
gdb 可以吗?我无法在 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 了解更多信息。
【讨论】:
以上是关于GDB:如何获取执行历史的主要内容,如果未能解决你的问题,请参考以下文章