From: Vladimir Prus <ghost@cs.msu.su>
To: gdb@sources.redhat.com
Subject: Re: libGDB and gdbserver questions
Date: Wed, 16 Nov 2005 08:01:00 -0000 [thread overview]
Message-ID: <dleor1$uk$1@sea.gmane.org> (raw)
In-Reply-To: <bba22c370511151531q13ef6be0j1e89d496def9432d@mail.gmail.com>
Donny Kurniawan wrote:
>> > "master UI controller" (that controls GDBs).
>>
>> I'm not sure what you mean about "master UI controller". The biggest
>
> What I mean is the UI that is presented to the user, which manages
> breakpoints, execution, stepping etc. for multiple processes.
Well, UI has to deal with 1000 threads of executions anyway, be it
processes, threads, or anything. It's not trivial, but independent of the
number of gdb instances, IMO.
>> However, it's not likely that you have 1000 different programs. If you
>> have
>
> It is only one single program being run for 1000 times (1000 processes).
Not MPI, per chance?
Actually, I always though it's a good idea to add multi-process debugging
(including MPI) to KDevelop (http://kdevelop.org). Maybe, we can team up
for that?
>> two programs, and each one is run on 500 machines, you can start two
>> copies of gdb.
>>
>> Then each copy of gdb would connect to a "redirector" you can write, that
>> will basically forward all packets to invididual instances of gdbserver.
>> But it will present those 500 instances as 500 threads, and gdb can work
>> with threads more or less fine.
>
> Hmmm.... I'm curious with this approach. I did write a "proxy"
> redirector between gdbserver and gdb. But it only connects one
> gdbserver to one gdb.
>
> So basically with this approach (many gdbservers to one gdb), we
> present processes as threads to gdb? How about debugging multi-thread
> (!) program with many processes then? How do we present threads to
> gdb?
Heh, that's problem of your "master UI controller". I'd extend the remote
protocol to allow UI to query which real process and real thread each
gdb-visible thread corresponds to.
> It seems to me, this approach is a clean hack, but not the way it's
> supposed to be.
Unfortunately, I don't know better way. Refactoring gdb to support several
connections to remote targets and to add an explicit notion of "process"
might be very hard.
- Volodya
next prev parent reply other threads:[~2005-11-16 8:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-15 12:48 Donny Kurniawan
2005-11-15 14:18 ` Daniel Jacobowitz
2005-11-15 23:45 ` Donny Kurniawan
2005-11-16 0:40 ` Daniel Jacobowitz
2005-11-15 15:34 ` Vladimir Prus
2005-11-15 23:31 ` Donny Kurniawan
2005-11-16 8:01 ` Vladimir Prus [this message]
2005-11-17 3:58 ` Daniel Jacobowitz
2005-11-17 18:44 ` Stan Shebs
2005-11-21 8:01 ` Donny Kurniawan
2005-11-16 9:19 ` Konstantin Karganov
2005-11-21 8:04 ` Donny Kurniawan
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='dleor1$uk$1@sea.gmane.org' \
--to=ghost@cs.msu.su \
--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