将进程内存转储到文件/从转储文件重新创建进程
Dump a process memory to file / recreate process from dump file
只是好奇,也许有人知道一种方法:
是否有可能在打开进程(应用程序域)的同时,将其整个内存空间转储到文件中,通过电传将其发送到 LAN 工作站,然后像在第一台计算机上一样重新创建进程。
假设:
- 该应用程序存在于两台计算机上;
- 该过程不会创建任何本地设置/临时文件;
- 两台计算机上的操作系统相同;
如果要这样做,则必须确保具有相同的环境来运行"转储"进程。其中一些:
-
您必须提供具有相同状态(进程、线程、文件等)的相同句柄。
-
新环境必须分配与以前相同的内存地址(包括运行时分配)
-
必须初始化所有库并置于相同状态
-
如果你有一些GUI界面,甚至GPU也必须处于相同的状态(你必须预加载所有图形资源等)。
-
还有更多需要注意的事情。
这是 Linux 上涉及的内容:
http://www.cs.iit.edu/~scs/psfiles/dsn08_dccs.pdf
不太容易。
相关文章:
- Cppcheck生成xml转储文件
- C++快速将 int 数组内容转储到文本文件中
- WinDbg 不显示某些小型转储文件的完整堆栈跟踪
- 将位字符串转储到二进制文件的最佳方法是什么
- 如何使用 lldb 在曼扎罗中调试 lz4 文件格式的核心转储?
- 从文件中读取的数据,但发生核心转储错误
- lighttpd:启用cgi二进制文件的核心转储
- 分段错误:从文件中访问csv记录时转储了核心
- 如何在 CentOS 7 中为应用程序生成具有完整回溯C++的核心转储文件
- 如何从核心转储文件中识别导致崩溃的完整命令
- 将 CPP 数据转储到文件中,以便以后重复使用
- 当外部源代码中发生异常时,无法正确使用自创建的小型转储文件的堆栈跟踪
- 收集Visual Studio IntelliSense错误,然后通过脚本将其转储到文本文件中
- BSONCXX-是否有一种方法可以通过.bson转储文件中的文档进行迭代
- 是否可以以编程方式创建迷你转储文件而不会崩溃?
- 故障转储文件是否需要崩溃时正在运行的本地文件
- 文件转储的替代方法
- 所有线程都在核心转储文件中等待,但有人触发了SIG_ABRT
- 每次将对象文件转储到其他目录中时重建 makefile
- 将文件转储到字符串数组中