I'm trying to port a utility from Windows that needs to read memory from
a running application.  It's using P/Invoke to call ReadProcessMemory,
which obviously isn't going to work on Linux.

Conceptually, I think this should be "easy":  use
Process.GetProcessByName().Id to get the pid of my target process,
open /proc/{pid}/mem as a filestream, and start reading.  The fact that
it seems so easy is what concerns me.  In particular:
  
* Has anyone actually done something like this and run into non-obvious
problems?  I'm most concerned that there are some gotchas in how Linux
manages memory, though if its just a matter of trial and error to find
the right spots in memory I'm already assuming that's coming.

* Is there an easier way to do this that I'm missing?  I briefly looked
for a glibc function that was similar to ReadProcessMemory and came up
empty.

--Mike

_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to