From: Pawel Piech <pawel.piech@windriver.com>
To: gdb@sources.redhat.com
Subject: Re: MI non-stop mode spec
Date: Wed, 26 Mar 2008 13:03:00 -0000 [thread overview]
Message-ID: <47E9C183.9000901@windriver.com> (raw)
In-Reply-To: <18409.25598.614328.93389@kahikatea.snap.net.nz>
Defining thread sets for purpose of synchronized run control is an often
requested feature in multi core debugging. IMO it would be easier for
the MI client, if the "threadset" command would itself create a new
thread id, which would then be selected with -thread-select.
Cheers,
Pawel
Nick Roberts wrote:
> >...
> > > If a new feature is added to a particular command, such as the deferred
> > > breakpoints, that single service can be replaced, updated, or extended
> > > as needed. While adding an option across all commands forces changes in
> > > all services. There is a command factory mechanism in CDI-GDB to
> > > abstract some protocol changes which deals with small changes to
> > > individual commands based on the protocol version, which DSF-GDB is
> > > probably going to have to adopt as well. But this mechanism wouldn't be
> > > necessary if the evolution in the protocol was more concerned with
> > > backward compatibility, especially in a case like this where the
> > > protocol change is not really necessary.
> >
> > Yes, I was thinking that a centralised entity that actually sends or
> > creates command can easily add --thread option.
>
> I'm nnot sure exactly how it is proposed that non-stop mode should work but
> rather than a --thread option, why not have a separate command that determines
> which thread(s) the following commands would act on? Perhaps only the
> execution commands, e.g run, next etc, would recognise this set. Using CLI
> commands ;-) it could work something like this:
>
> (gdb) threadset 2-4
>
> would mean that
>
> (gdb) continue&
>
> would resume threads 2, 3 and 4
>
> Unlike operations like print, It doesn't seem necessary for these commands to
> select the thread/frame first.
>
> Presumably you will be interested in implementing barrier points so there
> could be further commands to hold and release threads, e.g.,
>
> (gdb) hold 3
>
> would mean that in the example above only threads 2 and 4 resumed
>
> (gdb) release 3
>
> would allow it to run again.
>
> The command "threadset" on its own could show all the threads in the current
> set and the commands "hold" and "release" on their own could show which threads
> are currently held/released.
>
> For the current mode of operation, Gdb would give
>
> (gdb) threadset
> all
> (gdb) hold
> none
> (gdb) release
> all
>
> This would then provide a backward compatible way to use all the MI
> execution commands.
>
>
next prev parent reply other threads:[~2008-03-26 3:23 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-19 2:49 Vladimir Prus
2008-03-19 6:26 ` Nick Roberts
2008-03-19 9:14 ` Vladimir Prus
2008-03-19 10:02 ` Nick Roberts
2008-03-19 11:10 ` Vladimir Prus
2008-03-19 12:30 ` Nick Roberts
2008-03-19 13:43 ` Vladimir Prus
2008-03-19 20:44 ` Michael Snyder
2008-03-19 11:20 ` Bob Rossi
2008-03-19 11:16 ` Bob Rossi
2008-03-19 12:01 ` Vladimir Prus
2008-03-19 13:50 ` Bob Rossi
2008-03-19 14:07 ` Vladimir Prus
2008-03-19 14:33 ` Bob Rossi
2008-03-19 16:09 ` Vladimir Prus
2008-03-20 18:22 ` Marc Khouzam
2008-03-20 20:02 ` Vladimir Prus
2008-03-21 9:11 ` Nick Roberts
2008-03-21 9:48 ` Vladimir Prus
2008-03-21 18:13 ` Nick Roberts
2008-03-22 0:33 ` Vladimir Prus
2008-03-23 4:41 ` Nick Roberts
2008-03-23 5:18 ` Vladimir Prus
2008-03-23 9:25 ` Nick Roberts
2008-03-24 5:44 ` Vladimir Prus
2008-03-24 7:05 ` Thread bound variable objects [was: Re: MI non-stop mode spec] Nick Roberts
2008-03-24 7:18 ` Vladimir Prus
2008-03-24 11:04 ` Nick Roberts
2008-03-24 14:38 ` Vladimir Prus
2008-03-25 6:28 ` Thread bound variable objects Nick Roberts
2008-03-25 11:34 ` Daniel Jacobowitz
2008-03-21 11:52 ` MI non-stop mode spec Vladimir Prus
2008-03-24 23:14 ` Daniel Jacobowitz
2008-03-25 17:46 ` Vladimir Prus
2008-03-22 17:33 ` Pawel Piech
2008-03-24 4:03 ` Nick Roberts
2008-03-24 17:22 ` Pawel Piech
2008-03-24 20:23 ` Vladimir Prus
2008-03-25 2:14 ` Nick Roberts
2008-03-24 18:38 ` Vladimir Prus
2008-03-24 21:25 ` Pawel Piech
2008-03-24 21:46 ` Vladimir Prus
2008-03-24 22:28 ` Pawel Piech
2008-03-25 12:30 ` Vladimir Prus
2008-03-25 18:30 ` Pawel Piech
2008-03-27 14:13 ` Vladimir Prus
2008-03-27 19:39 ` Pawel Piech
2008-03-25 21:28 ` Nick Roberts
2008-03-26 13:03 ` Pawel Piech [this message]
2008-03-25 1:00 ` Daniel Jacobowitz
2008-03-25 18:18 ` Pawel Piech
2008-03-30 21:36 ` Pawel Piech
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=47E9C183.9000901@windriver.com \
--to=pawel.piech@windriver.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