From: Michael Snyder <msnyder@redhat.com>
To: GDB Patches <gdb-patches@sources.redhat.com>,
gdb@sources.redhat.com, drow@false.org,
Eli Zaretskii <eliz@gnu.org>
Subject: [RFC] multi-process gdb (forks, checkpoints)
Date: Tue, 29 Nov 2005 04:41:00 -0000 [thread overview]
Message-ID: <438B8B6F.6010706@redhat.com> (raw)
Folks, I'm pretty close to actually submitting this for approval;
this is (knock on wood) my last request for pre-review.
Instead of attaching a patch, I've checked this in on a branch:
msnyder-fork-checkpoint-branch.
This is, no kidding, gdb debugging multiple processes.
I've adapted it to work with the existing "follow-fork"
infrastructure, so that when a process forks, instead of
being forced to choose between debugging the parent or the
child, we can now debug both. The user sets a mode flag,
and rather than detaching from one of the forks, gdb will
set it aside (in a ptrace-stopped state), and let you
return to debugging it later, switching back and forth
at will.
Daniel, it handles quit, kill, and inferior exit.
If one process exits and there's another available,
it just switches automatically (as it would with threads).
I've added a testcase, gdb.base/multi-forks.exp, which serves
to demonstrate the debugging of 16 forks at a time.
And of course checkpoint and restart are in there too.
Eli, I'll be working on documentation. For the mean time,
the user interface looks like this:
set/show detach-on-fork (on/off) [default on]
info forks
fork <n> [analogous to thread <n>]
detach-fork <n>
delete-fork <n> [and kill]
checkpoint
restart <n>
info checkpoints
delete-checkpoint <n>
detach-checkpoint <n> [well...]
next reply other threads:[~2005-11-28 22:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-29 4:41 Michael Snyder [this message]
2005-11-29 19:20 ` Eli Zaretskii
2005-11-30 3:00 ` Michael Snyder
2005-11-30 5:41 ` Jim Blandy
2005-11-30 11:39 ` Michael Snyder
2005-11-30 13:10 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=438B8B6F.6010706@redhat.com \
--to=msnyder@redhat.com \
--cc=drow@false.org \
--cc=eliz@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox