[Mono-dev] {kinda OT} Linux equivalent of Win32 "ReadProcessMemory"...
Mike Edenfield
kutulu at kutulu.org
Sun Apr 12 19:22:54 EDT 2009
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
More information about the Mono-devel-list
mailing list