应用程序冻结? [英] Application freezing?
问题描述
可以编写一个c ++程序,对给定的windows进程执行以下操作:
Is it possible to write a c++ program that will do the following for a given windows process:
1) pause an application
2) copy the memory of that application to the HDD
3) kill the application
4) at a later point start the application in the exact same state it was before by loading the saved memory
出于很多原因,我们会这样做,我相信它会特别有助于调试。
One would want to do this for many reasons, and I believe it will be especial helpful in debugging.
推荐答案
不可以。过程映像中的一些值是内核句柄。当您还原映像时,这些将不具有相应的内核结构。如果你不相信我,你应该相信Raymond Chen:
No, is not possible. Some of the values in the process image are kernel handles. These will not have a corresponding kernel structure when you restore the image. If you don't believe me, you should believe Raymond Chen: Why can't the system hibernate just one process?
有可能是创建一个转储,参见如何在Windows Vista和Windows 7中创建用户模式的进程转储文件, .dump
或 MiniDumpWriteDump
。开发人员已成功使用dumps调试多年了...
What it is possible is to create a dump, see How to create a user-mode process dump file in Windows Vista and in Windows 7, .dump
or MiniDumpWriteDump
. Developers had been successfully used dumps for debugging for many years now...
这篇关于应用程序冻结?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!