Is it possible to pause a process, save the memory contents to a file, and then later reload the file so you can continue the program?
Edit I've been reading about this:
http://en.wikipedia.org/wiki/Setcontext
Is it possible to dump the contents of the struct, and somehow force malloc to allocate the same memory regions?
Technically it is possible, but it would require saving all the system-allocated resources state too - like file descriptors for example and then restoring them. So it's a challenging task.
The easiest way to achieve what you want is to use a virtual machine like VMWare. When you pause it you actually save the whole machine state together with all programs running.