Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Ingham <jingham@apple.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: Bob Rossi <bob_rossi@cox.net>, Alain Magloire <alain@qnx.com>,
	        gdb@sources.redhat.com
Subject: Re: asynchronous MI output commands
Date: Thu, 11 May 2006 17:35:00 -0000	[thread overview]
Message-ID: <896BBC4B-59A7-4BD5-BA2A-C21D19E36392@apple.com> (raw)
In-Reply-To: <20060511162256.GA9407@nevyn.them.org>


On May 11, 2006, at 9:22 AM, Daniel Jacobowitz wrote:

> On Thu, May 11, 2006 at 08:42:03AM -0700, Jim Ingham wrote:
>> I think that the lack of notification about what has gone on when
>> somebody uses interpreter-exec to run the target is just a bug in the
>> interpreter-exec command.  Since that command allows lots of stuff to
>> go on behind the MI client's back, you need to inform the client
>> about this.  You could either post asynchronous notifications about
>> what happened (for instance an =running or whatever) or you can just
>> make the -interpreter-exec command behave like -exec-next when it
>> does indeed run the target.  The latter is what we did for Xcode, so
>> you get the *stopped message if the target was run.
>
> This is a topic I'd like to see a single consensus on, sometime soon.
> I have an ulterior motive.
>
> I wrote, some time ago, patches to use Guile to implement GDB CLI
> commands.  It works by, roughly, opening a bidirectional MI channel to
> Guile, and temporarily suspending the CLI channel.  But if the front
> end in use is MI, what notifications should that frontend get?  Should
> it be told the target is running, even if e.g. the user defined  
> command
> just calls a function in the target?  Should the Guile interpreter get
> notifications when the user or MI client does something?

>
> Basically, I think that getting this right requires multiple
> interpreters live at the same time.
>

I'm not sure I understand the design.  Does the user have access both  
to the MI channel (presumably through the Guile interface) and to the  
normal gdb CLI interpreter?  That does sound like it would be hard to  
get right...

In our case, we funnel all access to the CLI through the -interpreter- 
exec command.  So we do need to be careful that the -interpreter-exec  
wrapper arranges to tell the MI about all the things that the CLI  
command might do (including setting breakpoints, changing the frame,  
running the target, etc).  But I don't think the Xcode design  
requires two interpreters live simultaneously, it just requires that  
the notification hooks be sufficient for the purposes.

BTW, we don't notify the UI that the target has run if you just call  
a function.  Maybe we should so the UI could better figure out what  
is going on if a user called function stalls for some reason, but it  
makes the UI's life simpler if it doesn't know about this.

Jim

> I'd like to come back to that code someday.  And, preferably, merge
> Perl and Python support also.  Kip Macy posted Perl bindings and the
> Python ones would be easy to write, now that I know Python - in fact
> it's the only one out of the three I'd be comfortable doing myself,
> the Guile bits were very skeletal.
>
> -- 
> Daniel Jacobowitz
> CodeSourcery


  reply	other threads:[~2006-05-11 16:40 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-11 15:02 Alain Magloire
2006-05-11 15:42 ` Bob Rossi
2006-05-11 16:40   ` Jim Ingham
2006-05-11 17:03     ` Daniel Jacobowitz
2006-05-11 17:35       ` Jim Ingham [this message]
2006-05-11 19:24     ` Bob Rossi
2006-05-11 19:25       ` Jim Ingham
  -- strict thread matches above, loose matches on Subject: below --
2006-05-12  0:19 Alain Magloire
2006-05-10 22:15 Alain Magloire
2006-05-11  3:41 ` Bob Rossi
2006-05-11  8:58   ` Vladimir Prus
2006-05-11 10:48     ` Bob Rossi
2006-05-11 10:52       ` Vladimir Prus
2006-05-11 11:14         ` Bob Rossi
2006-05-11 12:50           ` Vladimir Prus
2006-05-11 14:50             ` Bob Rossi
2006-05-09  9:46 Alain Magloire
2006-05-07 22:30 Bjarke Viksoe
2006-05-07 22:50 ` Daniel Jacobowitz
2006-05-08  0:36   ` Bjarke Viksoe
2006-05-08  1:52     ` Daniel Jacobowitz
     [not found] <1147034156.28828.ezmlm@sourceware.org>
2006-05-07 21:27 ` Bjarke Viksoe
2006-05-07 21:41   ` Daniel Jacobowitz
2006-05-10 12:43     ` Vladimir Prus
2006-05-06  1:26 Bob Rossi
2006-05-06  1:59 ` Daniel Jacobowitz
2006-05-06  2:48   ` Bob Rossi
2006-05-06  3:37     ` Nick Roberts
2006-05-06 15:20       ` Bob Rossi
2006-05-06  4:06     ` Daniel Jacobowitz
2006-05-06  4:05       ` Daniel Jacobowitz
2006-05-06 11:53       ` Bob Rossi
2006-05-06 12:06         ` Bob Rossi
2006-05-06  3:14   ` Bob Rossi
2006-05-06  4:04     ` Nick Roberts
2006-05-06 11:49       ` Daniel Jacobowitz
2006-05-06 11:50         ` Bob Rossi
2006-05-06 16:52           ` Daniel Jacobowitz
2006-05-06 19:45             ` Bob Rossi
2006-05-06 20:37               ` Daniel Jacobowitz
2006-05-07  0:44                 ` Bob Rossi
2006-05-07 20:35                   ` Daniel Jacobowitz
2006-05-07 20:42                     ` Bob Rossi
2006-05-07 22:01                       ` Daniel Jacobowitz
2006-05-08  1:22                         ` Bob Rossi
2006-05-08  2:03                           ` Daniel Jacobowitz
2006-05-09 21:48                             ` Bob Rossi
2006-05-08  6:38                           ` Nick Roberts
2006-05-08 11:28                             ` Bob Rossi
2006-05-08  1:26                         ` Bob Rossi
2006-05-06 11:51       ` Bob Rossi
2006-05-06  3:27 ` Nick Roberts
2006-05-06 16:40   ` Bob Rossi

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=896BBC4B-59A7-4BD5-BA2A-C21D19E36392@apple.com \
    --to=jingham@apple.com \
    --cc=alain@qnx.com \
    --cc=bob_rossi@cox.net \
    --cc=drow@false.org \
    --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