8

可能重复:
双向(或反向)调试

我查看了 Omniscient Debugger ( http://www.lambdacs.com/debugger/ODBDescription.html ),但它特定于 Java。对于本机应用程序,即 C/C++,是否有任何具有相同功能的调试器?

我还没有说清楚。我想打破虚假数据值/代码路径,然后“回滚”,向后调试,直到在代码/逻辑/设计中找到错误。

我知道我可以“向前”一步一步地调试,我想向后做同样的事情,所以调试器需要在每一步中保存它的上下文。

4

5 回答 5

8

除了检查 x86 目标上已经提到的过去指令的堆栈跟踪之外,较新的 gdb 还支持记录的程序执行和后退,这应该非常接近您正在寻找的内容。

于 2012-08-28T00:10:46.090 回答
6

GDB 7.0 版(2009 年 9 月到期)将是 gdb 的第一个支持反向调试的公开版本(能够使被调试的程序单步执行并反向继续)

附录:

Visual Studio 2010 及更高版本支持“历史调试”(“IntelliTrace”):

于 2012-08-28T00:17:07.400 回答
2

我认为您应该将 GDB 用于 C/C++。您有一些堆栈跟踪选项,您将能够在程序中设置断点并逐步运行它。

查看http://www.cs.cmu.edu/~gilpin/tutorial/#3.5 或在网上查找其他教程。

希望能帮助到你。

于 2012-08-27T20:13:18.160 回答
0

gdb有命令up ndown n选择(n)帧updown

可能这会有所帮助。

于 2012-08-28T10:52:27.347 回答
-2

建议使用 linux GDB,而 Windowswindbg更好。

于 2012-08-27T20:15:38.703 回答