Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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...]


             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