Re: Hopefully a simple question on /proc/pid/mem

Richard F Weber
2001-04-30T18:46:19Z

[-- Attachment #1: Type: text/plain, Size: 1651 bytes --]

Well ptrace connects, but getting the data out is what seems to be the
really tough part. I've seen some examples of opening up the
/proc/pid/mem file just using the

.................
int addr=0x<some memory address>;
char buffer[255];

proc_file=open ("/proc/pid/mem",O_RDONLY);
lseek(proc_file,addr,SEEK_SET);
read (proc_file,buffer,sizeof(buffer));
.................

But then the system complains about "No Such Process". I know the
process is working and this fails as both the user running the target
process, as well as root. I'm also using a 2.2.16 kernel stock from
RH7.0 (but I didn't think that would really matter). I don't need
register access (at least not yet).

The only other thing I'm wondering is if there is some permission that
must be granted by the target process, but I've already tried the
ptrace(PTRACE_TRACEME) line.

Thanks.

--Rich

Stephen C. Tweedie wrote:

>Hi,
>
>On Mon, Apr 30, 2001 at 02:17:13PM -0400, Richard F Weber wrote:
>
>>Hopefully this is a simple question. I'm trying to work on an external
>>debugger that can bind to an external process, and open up memory
>>locations on the heap to allow reading of data.
>>
>>Now I've tried using ptrace(), mmap() & lseek/read all with no success.
>>The closest I've been able to get is to use ptrace() to do an attach to
>>the target process, but couldn't read much of anything from it.
>>
>
>ptrace is what other debuggers use. It really ought to work.
>
>Cheers,
> Stephen
>--
>To unsubscribe, send a message with 'unsubscribe linux-mm' in
>the body to majordomo@kvack.org. For more info on Linux MM,
>see: http://www.linux.eu.org/Linux-MM/
>

[-- Attachment #2: Type: text/html, Size: 2168 bytes --]