在 Visual C++ 调试中单步执行后,有没有办法返回 return 以前的状态?

Is there way to return previous state after step over in Visual C++ debug?

所以当我想向前移动时我可以使用 f10/f11 但是我可以移动到之前的状态吗?不仅仅是之前的位置,因为如果我只是将光标移动或设置到之前的位置,这不会恢复变量的值。这不可能?

没有这样的功能,如果有那么它会在文档中列出(并且可能仅适用于企业版):

http://msdn.microsoft.com/en-us/library/y740d9d3.aspx

还可以想象这需要多少内存,调试器必须在每个调试器步骤上对应用程序状态进行快照。您想要的结果是:

Microsoft Time Travel Tracing Diagnostic Tool

我没用过,也不是调试插件

如果您愿意使用不同的调试器,您可以做到这一点。

GDBsupports this feature。将 GDB 与 MS VS 结合使用留作 reader 和 Google 的练习,但这里有一些有用的链接:

How can I use GDB from inside Visual Studio C++ (Express) to debug my GCC Makefile projects?

https://visualstudiogallery.msdn.microsoft.com/54B953C9-FD8A-4D6F-8C98-D0A1A786CBBE

或者也许是这个,但是它很贵 http://visualgdb.com/

注意:我假设您的代码是 Windows 特定的。如果没有,并且您确实想要此功能,请设置一个 Linux VM 并使用 GCC / GCB(并查看 DDD front end - 它可以让您直观地检查链接结构