Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Stan Shebs <stan@codesourcery.com>
To: tromey@redhat.com
Cc: gdb@sourceware.org
Subject: Re: Towards multiprocess GDB
Date: Mon, 21 Jul 2008 17:11:00 -0000	[thread overview]
Message-ID: <4884BB79.60707@codesourcery.com> (raw)
In-Reply-To: <m3hcamvlgk.fsf@fleche.redhat.com>

Tom Tromey wrote:
> This is particularly interesting if you are watching a very large tree
> of processes.  It would be nice if gdb did not have eagerly to read
> symbols for every program.
>   
Yes, that would be good. I think that if things like breakpoint 
locations include an exec name, then inferior control need do nothing 
more than catch the fork/exec, and let the programs with nonmatching 
names continue on without further ado.
> Another idea, related to something in HPD, would be to come up with a
> general syntax for naming things -- like "#PID#file.c:function" (or
> what have you) -- so the user can easily embed a context into a name.
> (I dunno if this is useful, I'm just brainstorming a bit.)
>   
We're going to want some sort of syntax, don't want to commit to any 
particular character(s) yet. :-)
> Stan> Conversely, the user will also want a way to take programs out
> Stan> of the debugging session. This is not quite the same as
> Stan> detaching, because the user may want, say, the server to
> Stan> continue doing its serving thing
>
> I don't understand the distinction here.  With 'detach' the server
> would continue serving... what am I missing?
>   
I'm thinking one may want to flush symbol tables, so as to reduce 
ambiguity. Otherwise you could end up with more and more versions of 
main() over time, and very long selection menus in response to "break 
main", but with many or most of the entries being for programs not 
actually being debugged at the moment.
> Stan> Although my inclination is to create a new symbol table for each
> Stan> process' image of each shared library, that may be excessively
> Stan> expensive.
>
> To me this sounds important to solve, though of course I have no
> numbers.  I am just thinking that every program is going to be mapping
> in libc, and it would be great to scale to a large number of inferiors.
> FWIW the particular scenario I am interested in is running "make check"
> in the gcc tree, under gdb, and having it stop only when some
> sub-process gets a SEGV.  So, the question is, how does gdb react to
> thousands of process creations and deletions, how eagerly does it read
> and discard symbol table info, etc.
>   
That's a really great scenario to keep in mind, and totally doable I 
think, though maybe not on the first iteration. :-)

Stan


  reply	other threads:[~2008-07-21 16:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-18 20:50 Stan Shebs
2008-07-18 21:21 ` Paul Koning
2008-07-18 21:41   ` Stan Shebs
2008-07-21  0:34   ` Michael Snyder
2008-07-18 22:13 ` Mark Kettenis
2008-07-18 22:20   ` David Daney
2008-07-18 22:28   ` Thiago Jung Bauermann
2008-07-18 23:09   ` Stan Shebs
2008-07-19  3:53     ` Pedro Alves
2008-07-21 17:39       ` Stan Shebs
2008-07-21  1:53   ` Michael Snyder
2008-07-21 16:08     ` Russell Shaw
2008-07-21 17:57   ` Joel Brobecker
2008-07-18 23:13 ` Tom Tromey
2008-07-21 17:11   ` Stan Shebs [this message]
2008-07-21  0:30 ` Michael Snyder
2008-07-21 18:21   ` Paul Pluzhnikov
2008-07-21 18:32   ` Stan Shebs
2008-07-21 16:38 ` Michael Eager
2008-07-21 21:54   ` Stan Shebs
2008-07-31 22:04 ` Ian Lance Taylor

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=4884BB79.60707@codesourcery.com \
    --to=stan@codesourcery.com \
    --cc=gdb@sourceware.org \
    --cc=tromey@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