Program/IDE以保存正在运行的程序的状态并在以后恢复 我有一个C++编写的模拟器,它读取一个文件并逐行处理。这是一个耗时的过程。我经常遇到rum时间错误,程序在15-20分钟后崩溃。我开始调试,程序达到我设置的断点所用的时间与我设置的时间相同。我检查了一些变量,并逐步完成代码,以查看发生了什么,进行了一些更改,然后再次重新启动程序。大多数情况下,我必须在进行实际代码更改之前多次调试程序。每次等待15分钟让执行到达断点是浪费时间的。是否有一种方法可以将程序状态保存到一个特定的断点,然后稍后从那里开始运行/调试

Program/IDE以保存正在运行的程序的状态并在以后恢复 我有一个C++编写的模拟器,它读取一个文件并逐行处理。这是一个耗时的过程。我经常遇到rum时间错误,程序在15-20分钟后崩溃。我开始调试,程序达到我设置的断点所用的时间与我设置的时间相同。我检查了一些变量,并逐步完成代码,以查看发生了什么,进行了一些更改,然后再次重新启动程序。大多数情况下,我必须在进行实际代码更改之前多次调试程序。每次等待15分钟让执行到达断点是浪费时间的。是否有一种方法可以将程序状态保存到一个特定的断点,然后稍后从那里开始运行/调试,ide,debugging,session-state,state,Ide,Debugging,Session State,State,我相信我不是唯一一个面对这个问题的人。必须有一个解决办法。我认为最好的办法是根据具体情况而定。在您的情况下,创建一些保存进度的格式,并在进度过程中将其保存/更新到文件中。然后,在重新启动时,确定是恢复还是重新启动的一些逻辑 另外,把程序分成几个阶段,你可以伪造或跳过 否则,需要在“安全恢复点”进行低效甚至可能的内存/注册表转储并重新加载。我认为最接近这一点的是使用“快照”(VMWare Workstation、Windows Virtual PC?)的整个环境虚拟化,这可能是一个选项,但速度几乎

我相信我不是唯一一个面对这个问题的人。必须有一个解决办法。

我认为最好的办法是根据具体情况而定。在您的情况下,创建一些保存进度的格式,并在进度过程中将其保存/更新到文件中。然后,在重新启动时,确定是恢复还是重新启动的一些逻辑

另外,把程序分成几个阶段,你可以伪造或跳过


否则,需要在“安全恢复点”进行低效甚至可能的内存/注册表转储并重新加载。我认为最接近这一点的是使用“快照”(VMWare Workstation、Windows Virtual PC?)的整个环境虚拟化,这可能是一个选项,但速度几乎一样慢。

使用了很多数据结构。即使我可以做这样的事情,也要花很多时间来构建这样的东西并进行验证。我还没有自己建造模拟器。它是别人的代码,有超过50个源文件。另外,我不能跳过阶段,因为它基本上是逐行读取一个非常大的文件。步骤很小,但文件很大,听起来像是一项艰巨的任务