将进程内存转储到文件/从转储文件重新创建进程

Dump a process memory to file / recreate process from dump file

本文关键字:文件 转储 进程 创建 新创建 内存      更新时间:2023-10-16

只是好奇,也许有人知道一种方法:

是否有可能在打开进程(应用程序域)的同时,将其整个内存空间转储到文件中,通过电传将其发送到 LAN 工作站,然后像在第一台计算机上一样重新创建进程。

假设:

  • 该应用程序存在于两台计算机上;
  • 该过程不会创建任何本地设置/临时文件;
  • 两台计算机上的操作系统相同;

如果要这样做,则必须确保具有相同的环境来运行"转储"进程。其中一些:

  • 您必须提供具有相同状态(进程、线程、文件等)的相同句柄。

  • 新环境必须分配与以前相同的内存地址(包括运行时分配)

  • 必须初始化所有库并置于相同状态

  • 如果你有一些GUI界面,甚至GPU也必须处于相同的状态(你必须预加载所有图形资源等)。

  • 还有更多需要注意的事情。

这是 Linux 上涉及的内容:

http://www.cs.iit.edu/~scs/psfiles/dsn08_dccs.pdf

不太容易。