阅读:1266回复:7
如何对指定的进程\"存点\"?
请教各位大虾:
有没有办法在一个进程运行到某个时候时把它的\"状态\"进行一次\"存点\",使得这个进程可以在某个时候能回到这个状态重新运行?就像游戏里面的存点一样?多谢了。 |
|
沙发#
发布于:2005-03-12 09:29
游戏里面的存点是因为它自己知道哪些是可变数据,仅存这些就可以了
你要存任何程序的,只能是暂停该进程,将其这个模块module在内存中所有数据都保存才可以 |
|
|
板凳#
发布于:2005-03-12 10:42
游戏里面的存点是因为它自己知道哪些是可变数据,仅存这些就可以了 说起来容易,做起来难...... |
|
|
地板#
发布于:2005-03-12 11:40
要suspend一个线/进程倒是不难,SuspendThread()可以suspend用户态的代码。但是要保存一个线程的“状态”,就没有思路了。到底要保存些什么呢? :(
|
|
地下室#
发布于:2005-03-12 11:42
对的。。而且游戏的存点也不那么容易。而且如果有图形界面的话,可能不光是内存,,还有显存的相应内容呢!
|
|
5楼#
发布于:2005-03-12 11:50
要suspend一个线/进程倒是不难,SuspendThread()可以suspend用户态的代码。但是要保存一个线程的“状态”,就没有思路了。到底要保存些什么呢? :( PE加载到内存,基本跟PE的文件相同,.text节区基本不用保存,.data节区必须保存,堆和堆栈必须保存,还有文件中的未初始化但在内存中要初始化的,忘了是什么节区了,看PE文件格式就知道了。 |
|
|
6楼#
发布于:2005-03-12 14:45
线程调度的时候,根本就不调度这个线程呢?
|
|
7楼#
发布于:2005-03-13 17:03
线程调度的时候,根本就不调度这个线程呢? 不行去在系统高端找这个进程对应的页目录桢 |
|
|