This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: question about GDB, ptrace, and /proc...
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Joel Brobecker <brobecker at gnat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Sat, 10 Jan 2004 01:52:15 -0500
- Subject: Re: question about GDB, ptrace, and /proc...
- References: <20040110055300.GV4978@gnat.com>
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