question about GDB, ptrace, and /proc...
Daniel Jacobowitz
drow@mvista.com
Sat Jan 10 06:52:00 GMT 2004
On Sat, Jan 10, 2004 at 09:53:00AM +0400, Joel Brobecker wrote:
> Hello,
>
> while reading some linux-specific code such as linux-nat.c for instance,
> I was a bit surprised to see some calls to functions which seem to use
> /proc. For instance, there is a call to child_pid_to_exec_file() inside
> linux_handle_extended_wait() in linux-nat.c which causes GDB to read
> into the /proc filesystem.
>
> I was surprised, because I thought the linux ports were using ptrace,
> meaning using ptrace exclusively. Does GDB also need /proc, or is /proc
> only optional? Or does GDB support both interfaces on Linux?
The Linux /proc filesystem is not at all like the Solaris-style /proc.
It can not be used as a replacement for ptrace. However, for some
things (like child_pid_to_exec_file) it's the only option. And for
others (lin_lwp_xfer_memory) it's dramatically more efficient.
Right now, GDB will behave gracefully if /proc is unavailable, for most
uses. However I wouldn't consider that a guarantee if I were you. As
time goes by more and more Linux userspace functionality relies on
/proc.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
More information about the Gdb-patches
mailing list