Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Karganov Konstantin <kostik@ispras.ru>
To: Bob Rossi <bob@brasko.net>
Cc: GDB <gdb@sources.redhat.com>
Subject: Re: MI output command error
Date: Thu, 10 Mar 2005 13:43:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.44.0503101603520.7664-100000@ispserv.ispras.ru> (raw)
In-Reply-To: <20050310130544.GA13958@white>


> Yeah, but even using the TOKENS doesn't work. The problem is, whenver I
> front end get's a "(gdb)\r\n" it knows that it can send another command.
> When you use the tokens with this command, you end up with,
> 
>    (gdb) 
>    444-exec-continue
>    444^running
>    (gdb) 
>    444*stopped,reason="watchpoint-scope",wpnum="2",thread-id="0",frame={addr="0x40039dc9",func="__libc_start_main",args=[],from="/lib/libc.so.6"}
>    (gdb) 
> 
> This is still incorrect. The front end would have to know that the first
> MI output command was not the end of the output from the single MI
> input command. In other words, the FE would have to hardcode the fact
> that the -exec-continue command may output 2 MI output commands. This
> can't be correct, it would be better if the output is changed to,

If I were the GDB maintainer, I'd answer the following:
All "execution" commands (continue, step, next, etc) are partially 
asynchronous - in the sence that when the execution is started you can 
type a characters to inferior stdin. In this case you need a way to know 
when the inferior starts/stops execution.

In GDB the execution commands behave like this - you get a confirmation 
(^running) when the execution has started (at this time the command is 
assumed to be accomplished) and you get the notification on inferior state 
change some time later (*stopped).

So, working over MI you need to handle all execution commands in a way, 
that assumes "^running" as a beginning of execution and waits for 
"*stopped" for execution end. That's all.

On the other hand, it would be more logical if the execution commands were 
considered accomplished only after execution completion (i.e. *running and 
^stopped), but I think there was a reason to choose the way it was 
actually implemented.

Konstantin.

PS. all this resembles a group of savages, gathered around something 
unusual and discussing what could it be used for and guessing what it 
actually is... :)




  reply	other threads:[~2005-03-10 13:43 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-09  2:40 Bob Rossi
2005-03-09 23:22 ` Bob Rossi
2005-03-10  9:33   ` Re[2]: " Konstantin Karganov
2005-03-10 13:06     ` Bob Rossi
2005-03-10 13:43       ` Karganov Konstantin [this message]
2005-03-10 14:01         ` Bob Rossi
2005-03-10 14:15           ` Karganov Konstantin
2005-03-10 14:40             ` Bob Rossi
2005-03-10 15:13               ` Karganov Konstantin
2005-03-10 15:52               ` Dave Korn
2005-03-10 16:09                 ` 'Bob Rossi'
2005-03-10 16:13                   ` Daniel Jacobowitz
2005-03-10 17:44                     ` Bob Rossi
2005-03-10 17:52                       ` Daniel Jacobowitz
2005-03-10 20:48                         ` Bob Rossi
2005-03-10 21:10                           ` Daniel Jacobowitz
2005-03-10 21:25                             ` Bob Rossi
2005-03-10 16:23                   ` Dave Korn
2005-03-10 16:34                     ` Daniel Jacobowitz
2005-03-10 16:48                       ` Dave Korn
2005-03-10 17:03                         ` 'Bob Rossi'
2005-03-11 11:32                           ` Re[2]: " Konstantin Karganov
2005-03-11 21:05 Nick Roberts
2005-03-11 21:31 ` Daniel Jacobowitz
2005-03-11 21:36   ` Bob Rossi
2005-03-11 21:39     ` Daniel Jacobowitz
2005-03-11 21:52   ` Nick Roberts
2005-03-12 10:23     ` Eli Zaretskii
2005-03-13  9:36       ` Nick Roberts
2005-03-13 15:40         ` Daniel Jacobowitz
2005-03-13 20:22           ` Nick Roberts
2005-03-13 20:25             ` Daniel Jacobowitz
2005-03-13 23:33               ` Nick Roberts
2005-03-13 23:38                 ` Daniel Jacobowitz
2005-03-13 19:41         ` Eli Zaretskii
2005-03-14  7:16           ` Peter D HUERTER
     [not found] <1110656346.18541.ezmlm@sources.redhat.com>
2005-03-14 19:11 ` Jim Ingham

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=Pine.LNX.4.44.0503101603520.7664-100000@ispserv.ispras.ru \
    --to=kostik@ispras.ru \
    --cc=bob@brasko.net \
    --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