Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Vladimir Prus <vladimir@codesourcery.com>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: gdb@sources.redhat.com
Subject: Re: MI non-stop mode spec
Date: Wed, 19 Mar 2008 13:43:00 -0000	[thread overview]
Message-ID: <200803191530.24005.vladimir@codesourcery.com> (raw)
In-Reply-To: <18401.93.772177.582238@kahikatea.snap.net.nz>

On Wednesday 19 March 2008 15:00:29 Nick Roberts wrote:
>  > > Well I've not tried to parse the MI output on it's own, in earnest, yet
>  > > but if it's a delimiter then means that the parser can find the end of the
>  > > output record.
>  > 
>  > And what's the practical value? Both KDevelop and CDT parse MI output
>  > line-by-line, and it appears to be just enough.
> 
> Maybe you're right but the "(gdb) \n" doesn't seem to cost much.

It make it impossible to know if gdb is ready for input.

>  > >  >                                                     If it does not mean 
>  > >  > anything, it should be, ideally, just removed. And if it means anything,
>  > >  > then what? Current behaviour is not consistent, but the code suggests
>  > >  > that it's meant to indicate when GDB is ready for a new command. I think
>  > >  > such a behaviour will be useful for a frontend.
>  > > 
>  > > If it stays, the frontend can just use the rule that GDB is ready for a new
>  > > command after "(gdb)\n" unless it's preceded by ^running.
>  > 
>  > Which happens to be wrong. In async mode, gdb *may* be ready for a new
>  > command even if ^running is output. And whether it's ready or not, generally
>  > depends on the command
> 
> In async mode Gdb is pretty much always ready for a new command isn't it?

Not necessary. For example, presently calling of function in inferior is
not async, and making it async is fairly complex.

>  >  > >  >...
>  > > Breakpoint command lists don't currently work in MI, 
>  > 
>  > Do you suggest they should never work? 
> 
> No, but breaking my sentence here might make it appear that I did.
> 
>  >                                         They probably don't work because
>  > nobody tried to make them -- we have a call to bpstat_do_actions in
>  > mi_interpreter_exec_continuation so we try to do them only for CLI commands,
>  > and only in async mode.
> 
> CLI commands like "commands" that query the user don't fit well with MI.

Well, I can set breakpoint commands in MI just fine, it's just they
are not run.

> Apple have created an MI command called -break-commands which gets round
> this problem for "commands".

Yes, it's not very hard to grab, in fact.
 
>  > > so your scenario is a bit hypothetical, but if they did then it's quite
>  > > possible that we hit a breakpoint on one thread and breakpoint commands
>  > > resume all threads without async mode.
>  > 
>  > Yes, and what's wrong about that? We still need to accurately report to
>  > the frontend which threads are running, so that the frontend does not
>  > allow the user to mess with the currently running threads.
> 
> There's nothing "wrong" about that, just that apart from adding the thread id,
> I can't see much difference to the present case.
 
Is it either:
1. You don't believe that a single command can result in more than one resumption,
of different threads?
2. You think it's fine to emit ^running several times?

- Volodya



  reply	other threads:[~2008-03-19 12:30 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 [this message]
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
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=200803191530.24005.vladimir@codesourcery.com \
    --to=vladimir@codesourcery.com \
    --cc=gdb@sources.redhat.com \
    --cc=nickrob@snap.net.nz \
    /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