如何保存Visual Studio C++调试会话的状态?

Nei*_*irk 6 c++ visual-studio

我正在使用Visual Studio C++ 2013.我正在运行一个数字cruncher程序,因此它线性/可预测地进行.但是,由于我的代码中存在逻辑错误,因此在进行断言之前,我需要运行几个小时的测试.在崩溃之前我可以得到一个断点,但是如果不重新开始我就不能倒退.

有没有办法让Visual Studio保存我的程序状态,以便我可以再次重启?

程序状态非常复杂,我需要做很多工作才能将所有状态保存到文件中以便以后恢复.

Jak*_*kub 6

您可以考虑虚拟计算机.您可以制作快照并保存它们.这可能是一种矫枉过正,但保证可行.

  • @Mathai:前段时间为我工作过。VS 2015。当然如果你正在调试的程序一定不能太依赖时序。根据我的经验,调试会话和正在运行的程序甚至可以在 Windows 休眠/恢复周期中生存。 (2认同)

Rob*_*ler 5

在 Visual Studio 中调试时(甚至从断点)使用 Debug|Save Dump As... 来保存当前调试状态。保存时,请确保选择“Minidump With Heap”,以便您可以访问堆内存。

稍后您可以双击 .dmp 文件,在您所在的位置使用 Visual Studio 打开它。

  • 好主意。不幸的是,转储似乎不支持单步执行代码。 (2认同)