This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Debugging gdb under gdb
- From: Michael Eager <eager at eagercon dot com>
- To: Michael Snyder <msnyder at vmware dot com>
- Cc: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Wed, 08 Jul 2009 17:21:07 -0700
- Subject: Re: Debugging gdb under gdb
- References: <4A55313B.8000006@eagercon.com> <4A553291.8040904@vmware.com>
Michael Snyder wrote:
Michael Eager wrote:
Hi --
When I try to run a test gdb under gdb, the host gdb hangs.
The hang occurs when the test gdb is executing pex_unix_exec_child().
As soon as the test gdb executes fork(), the host gdb hangs.
I've tried all of the permutations of follow-fork-mode
and detach-on-fork, with no luck. The host neither follows
the parent nor the child processes.
The host gdb is "GNU gdb Fedora (6.8-32.fc10)".
Suggestions?
Are you stepping or continuing when this occurs?
There is a point, somewhere around where gdb is forking the child,
where stepping always hangs for me. I don't remember exactly where.
I work around it by setting a breakpoint somewhere just after, and
continuing.
I've tried both stepping and continuing. I set breakpoints in
the code shared between parent & child (where it checks the pid)
and also on both paths. None of the breakpoints are hit.
The host gdb also hangs when there are no breakpoints set and
I just run the test gdb.
It's been a while since I've done this... but see if that helps.
The call to pex_unix_exec_child() is in find_charset_names().
My workaround is to have the host gdb force a return from
find_charset_names() in the test gdb, so it never tries to
do a fork().
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077