0

Just curious, maybe someone knows a way:

Is it possible, while having an opened process (app domain), dump its entire memory space to a file, send it by wire to a LAN workstation and recreate the process as it was on the first computer.

Assumptions:

  • the application exists on both computers;
  • the process is not creating any local settings/temporary files;
  • the OS is the same on both computers;
itvist
  • 33
  • 1
  • 3

2 Answers2

0

This is what's involved on Linux:

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

Not exactly easy.

Andrew Henle
  • 32,625
  • 3
  • 24
  • 56
0

If you want to do so, you have to ensure you have the same environment to run the "dumped" process. Some of them:

  • You have to provide the same handles with the same state (process, threads, file, etc.)

  • The new environment must have the same memory addresses allocated (including runtime allocations) as previous had

  • All the libraries must be initialized and put in the same state

  • If you have some GUI interface even GPU must be in the same state (you have to preload all graphic resources etc.)

  • And many more stuff to take care about.

Gabriel Ciubotaru
  • 1,042
  • 9
  • 22
  • Just in case you wish to debug that other program, on Linux/Unix the other program can be made to create core dump with 'kill'-command (I vaguely recall there's a way to do it without terminating the program), sending the core-file to the other machine and running gdb with that core file (you need to have exactly the same program binaries). – turboscrew Apr 12 '15 at 07:37
  • I think the same works with Windows, but I don't know how the 'core' is produced there. I recall WinDbg can handle the dumps as well. – turboscrew Apr 12 '15 at 07:41