我可以使用Windows的小型转储文件在我的游戏中实现“保存”/“还原”吗?

我即将在我的游戏中实现保存/加载function,并认为可能使用Windows的小型转储文件来实现这一点。

我没有这方面的经验,所以任何帮助,将不胜感激。 这甚至有可能吗? 一个正在运行的应用程序可以从(迷你)转储文件“恢复”吗?

从已经发布的一些答案中,似乎可以将游戏状态存储在转储文件中,所以我将优化这个问题:我必须投入多less“胶水”来重新创build我不能存储在转储文件中的东西?

Solutions Collecting From Web of "我可以使用Windows的小型转储文件在我的游戏中实现“保存”/“还原”吗?"

小型转储器保存应用程序的所有虚拟内存和CPU状态。 到目前为止,似乎有可能从转储中恢复所有的东西。 但事实并非如此,因为句柄信息丢失:句柄是应用程序内存的一部分,句柄(内核模式对象)后面的对象已被释放或重新分配。 这意味着以下内容无法恢复:

  • 主题
  • 处理
  • 文件和目录
  • 注册表项
  • 视窗
  • 活动

您将需要重新分配这些内核资源 – 并且要这样做,您将需要实现(签名)的内核模式驱动程序。 在考虑实现内核模式驱动程序之前,我会建议考虑另一种保存和加载应用程序状态的方法。

如此处所述: http : //msdn.microsoft.com/en-us/library/windows/desktop/ms680369%28v=vs.85%29.aspx

小型转储文件用于调试目的。 你也许可以从这些文件重新创建你的游戏环境…但是…为什么你不写自己的文件格式?

最好的方法是使用恢复和重新启动框架。 简而言之,当应用程序崩溃时,您有机会序列化应用程序重新启动时需要的任何信息。