我可以在核心转储文件中使用“反向调试”吗?

时间:2012-08-07 18:34:49

标签: debugging gdb coredump reverse-debugging

在GDB 7.0之后,支持反向调试。

生成核心转储时,我可以使用反向调试命令吗?

我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:2)

你做不到。核心文件是程序在某个时间点的状态的快照。要在该状态下向后移动,您需要一个早期的程序状态快照。 GDB可以通过在调试实时程序时保留此历史记录来执行此操作,但此信息不存在于核心文件中。

请参阅此问题以获取how reverse debugging works in GDB的完整说明。

答案 1 :(得分:0)

有关反向执行的更深入讨论,请参阅http://jakob.engbloms.se/archives/1547。从根本上说,你需要看过去回到它,你不能在语义上反转计算机程序。也就是说,鉴于一个比gdb更强大的反向系统,你确实可以逆转执行程序崩溃甚至系统崩溃的方式。只需在运行失败案例时应用可逆调试器即可。