public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* MI: asynchronous operation details
@ 2005-11-22  8:33 Vladimir Prus
  2005-11-22  9:07 ` Konstantin Karganov
  2005-11-22 12:13 ` Bob Rossi
  0 siblings, 2 replies; 18+ messages in thread
From: Vladimir Prus @ 2005-11-22  8:33 UTC (permalink / raw)
  To: gdb


Hi,
so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
immediately gives me back the prompt, accepting further commands.

However, I can't:
1. Understand what commands can meaningfully be issued while the inferior
is running. Say, all data read/write commands are likely to produce
inconsistent results if inferior is running.
2. Practically figure out which commands can be issued at all. Say, both
-data-evaluate-expression and -exec-continue just hang, returning
nothing. This is with CVS HEAD.

Do I understand correctly that asynchronous MI just don't exist in CVS HEAD,
and only command prompt loop is asynchronous? Even if so, and fully
asynchronous MI is coming, what's the answer to question (1) above?

- Volodya




^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22  8:33 MI: asynchronous operation details Vladimir Prus
@ 2005-11-22  9:07 ` Konstantin Karganov
  2005-11-22 12:07   ` Vladimir Prus
  2005-11-22 12:13 ` Bob Rossi
  1 sibling, 1 reply; 18+ messages in thread
From: Konstantin Karganov @ 2005-11-22  9:07 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

> so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
> immediately gives me back the prompt, accepting further commands.
Who said it accepts commands? My gdb (6.3) does not.

> However, I can't:
> 1. Understand what commands can meaningfully be issued while the inferior
> is running. Say, all data read/write commands are likely to produce
> inconsistent results if inferior is running.
> 2. Practically figure out which commands can be issued at all. Say, both
> -data-evaluate-expression and -exec-continue just hang, returning
> nothing. This is with CVS HEAD.
>
> Do I understand correctly that asynchronous MI just don't exist in CVS HEAD,
> and only command prompt loop is asynchronous? Even if so, and fully
> asynchronous MI is coming, what's the answer to question (1) above?
Actually, MI also works synchonously. So for 1-2 the answer is "There
are no such commands."
And morover, you cannot issue the command while the inferior is
running. Gdb will process the input only when the execution stops.
As for me, I always ignore "(gdb)" prompt since it means nothing and
made a frontend work  with gdb synchronously (I.e. wait for one answer
before sending another command.).

All this asynchronism in gdb is also a ghost - it looks like it is
real but in fact it do not exist :)

PS. Try to search this mailing list for "(a)synchronous" or smth
alike, you will find the same questions that I asked a year or so ago
:)

--
Best regards,
Konstantin.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22  9:07 ` Konstantin Karganov
@ 2005-11-22 12:07   ` Vladimir Prus
  0 siblings, 0 replies; 18+ messages in thread
From: Vladimir Prus @ 2005-11-22 12:07 UTC (permalink / raw)
  To: Konstantin Karganov; +Cc: gdb

On Tuesday 22 November 2005 12:07, you wrote:
> > so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
> > immediately gives me back the prompt, accepting further commands.
>
> Who said it accepts commands? My gdb (6.3) does not.

Well, it gives back command prompt. That's what I meant ;-)

> > However, I can't:
> > 1. Understand what commands can meaningfully be issued while the inferior
> > is running. Say, all data read/write commands are likely to produce
> > inconsistent results if inferior is running.
> > 2. Practically figure out which commands can be issued at all. Say, both
> > -data-evaluate-expression and -exec-continue just hang, returning
> > nothing. This is with CVS HEAD.
> >
> > Do I understand correctly that asynchronous MI just don't exist in CVS
> > HEAD, and only command prompt loop is asynchronous? Even if so, and fully
> > asynchronous MI is coming, what's the answer to question (1) above?
>
> Actually, MI also works synchonously. So for 1-2 the answer is "There
> are no such commands."
> And morover, you cannot issue the command while the inferior is
> running. Gdb will process the input only when the execution stops.
> As for me, I always ignore "(gdb)" prompt since it means nothing and
> made a frontend work  with gdb synchronously (I.e. wait for one answer
> before sending another command.).

Hmm.. that's what I do also -- I just wait for the "*stopped" response.

- Volodya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22  8:33 MI: asynchronous operation details Vladimir Prus
  2005-11-22  9:07 ` Konstantin Karganov
@ 2005-11-22 12:13 ` Bob Rossi
  2005-11-22 12:20   ` Vladimir Prus
  2005-11-22 14:59   ` How can I unsubscribe? Gengis Toledo
  1 sibling, 2 replies; 18+ messages in thread
From: Bob Rossi @ 2005-11-22 12:13 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

On Tue, Nov 22, 2005 at 11:30:04AM +0300, Vladimir Prus wrote:
> 
> Hi,
> so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
> immediately gives me back the prompt, accepting further commands.
> 
> However, I can't:
> 1. Understand what commands can meaningfully be issued while the inferior
> is running. Say, all data read/write commands are likely to produce
> inconsistent results if inferior is running.
> 2. Practically figure out which commands can be issued at all. Say, both
> -data-evaluate-expression and -exec-continue just hang, returning
> nothing. This is with CVS HEAD.
> 
> Do I understand correctly that asynchronous MI just don't exist in CVS HEAD,
> and only command prompt loop is asynchronous? Even if so, and fully
> asynchronous MI is coming, what's the answer to question (1) above?

This is a feature that does not currently work. However, it's possible
that Nick Roberts work will address some of this lack of functionality.
If not, I'm sure in the future, either I (you) or someone else will eventually
get this working.

Bob Rossi

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 12:13 ` Bob Rossi
@ 2005-11-22 12:20   ` Vladimir Prus
  2005-11-22 13:38     ` Bob Rossi
  2005-11-22 20:04     ` Eli Zaretskii
  2005-11-22 14:59   ` How can I unsubscribe? Gengis Toledo
  1 sibling, 2 replies; 18+ messages in thread
From: Vladimir Prus @ 2005-11-22 12:20 UTC (permalink / raw)
  To: gdb

On Tuesday 22 November 2005 15:12, Bob Rossi wrote:
> On Tue, Nov 22, 2005 at 11:30:04AM +0300, Vladimir Prus wrote:
> > Hi,
> > so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
> > immediately gives me back the prompt, accepting further commands.
> >
> > However, I can't:
> > 1. Understand what commands can meaningfully be issued while the inferior
> > is running. Say, all data read/write commands are likely to produce
> > inconsistent results if inferior is running.
> > 2. Practically figure out which commands can be issued at all. Say, both
> > -data-evaluate-expression and -exec-continue just hang, returning
> > nothing. This is with CVS HEAD.
> >
> > Do I understand correctly that asynchronous MI just don't exist in CVS
> > HEAD, and only command prompt loop is asynchronous? Even if so, and fully
> > asynchronous MI is coming, what's the answer to question (1) above?
>
> This is a feature that does not currently work. However, it's possible
> that Nick Roberts work will address some of this lack of functionality.
> If not, I'm sure in the future, either I (you) or someone else will
> eventually get this working.

Ok, but -- why do I ever want to issue commands while inferior is running? For 
which kind of commands is that useful?

- Volodya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 12:20   ` Vladimir Prus
@ 2005-11-22 13:38     ` Bob Rossi
  2005-11-22 13:49       ` Vladimir Prus
  2005-11-22 20:04     ` Eli Zaretskii
  1 sibling, 1 reply; 18+ messages in thread
From: Bob Rossi @ 2005-11-22 13:38 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

On Tue, Nov 22, 2005 at 03:20:23PM +0300, Vladimir Prus wrote:
> On Tuesday 22 November 2005 15:12, Bob Rossi wrote:
> > On Tue, Nov 22, 2005 at 11:30:04AM +0300, Vladimir Prus wrote:
> > > Hi,
> > > so, in MI mode if I emit "-exec-continue" gdb starts inferiour and
> > > immediately gives me back the prompt, accepting further commands.
> > >
> > > However, I can't:
> > > 1. Understand what commands can meaningfully be issued while the inferior
> > > is running. Say, all data read/write commands are likely to produce
> > > inconsistent results if inferior is running.
> > > 2. Practically figure out which commands can be issued at all. Say, both
> > > -data-evaluate-expression and -exec-continue just hang, returning
> > > nothing. This is with CVS HEAD.
> > >
> > > Do I understand correctly that asynchronous MI just don't exist in CVS
> > > HEAD, and only command prompt loop is asynchronous? Even if so, and fully
> > > asynchronous MI is coming, what's the answer to question (1) above?
> >
> > This is a feature that does not currently work. However, it's possible
> > that Nick Roberts work will address some of this lack of functionality.
> > If not, I'm sure in the future, either I (you) or someone else will
> > eventually get this working.
> 
> Ok, but -- why do I ever want to issue commands while inferior is running? For 
> which kind of commands is that useful?

You could interupt the inferior, to tell it to stop. I think that would
be equivalent to typing ^c at the console now. Also, you could ask 
GDB if it is currently busy, to determine if you can send another
command. That way, you wouldn't have to keep track of the state of GDB,
you could just always ask it what it's state is.

I'm sure there are other useful features also. However, I agree, it
doesn't seem to be necessary. It's just better.

Bob Rossi

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 13:38     ` Bob Rossi
@ 2005-11-22 13:49       ` Vladimir Prus
  2005-11-22 14:00         ` Bob Rossi
  0 siblings, 1 reply; 18+ messages in thread
From: Vladimir Prus @ 2005-11-22 13:49 UTC (permalink / raw)
  To: gdb

On Tuesday 22 November 2005 16:38, Bob Rossi wrote:

> > > This is a feature that does not currently work. However, it's possible
> > > that Nick Roberts work will address some of this lack of functionality.
> > > If not, I'm sure in the future, either I (you) or someone else will
> > > eventually get this working.
> >
> > Ok, but -- why do I ever want to issue commands while inferior is
> > running? For which kind of commands is that useful?
>
> You could interupt the inferior, to tell it to stop. I think that would
> be equivalent to typing ^c at the console now. 

Well, exactly. I can do "^C" today, so nothing gained at all.

> Also, you could ask 
> GDB if it is currently busy, to determine if you can send another
> command. That way, you wouldn't have to keep track of the state of GDB,
> you could just always ask it what it's state is.

That would be handy, but if there's "^running" packet in *all* cases where 
inferiour start running (e.g. when "run" is hidden inside user-defined 
command), then keeping track of state of GDB means just a single bool 
variable -- not much. And it GUI, you need to keep track of the state anyway,
so that you can grey out some buttons.

> I'm sure there are other useful features also. 

Still curious what are they ;-)

- Volodya

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 13:49       ` Vladimir Prus
@ 2005-11-22 14:00         ` Bob Rossi
  2005-11-22 14:12           ` Vladimir Prus
  0 siblings, 1 reply; 18+ messages in thread
From: Bob Rossi @ 2005-11-22 14:00 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

On Tue, Nov 22, 2005 at 04:49:22PM +0300, Vladimir Prus wrote:
> On Tuesday 22 November 2005 16:38, Bob Rossi wrote:
> 
> > > > This is a feature that does not currently work. However, it's possible
> > > > that Nick Roberts work will address some of this lack of functionality.
> > > > If not, I'm sure in the future, either I (you) or someone else will
> > > > eventually get this working.
> > >
> > > Ok, but -- why do I ever want to issue commands while inferior is
> > > running? For which kind of commands is that useful?
> >
> > You could interupt the inferior, to tell it to stop. I think that would
> > be equivalent to typing ^c at the console now. 
> 
> Well, exactly. I can do "^C" today, so nothing gained at all.

Well, clearly sending the ^C is not as nice as the MI -exec-interrupt
command. The former is simply legacy from a console driven front end.
It's not intuitive.

> > I'm sure there are other useful features also. 
> 
> Still curious what are they ;-)

If you look in the documentation, the 'Asynchronous command.' will be
next to each command that is supposed to support an asynchronous style
command. For example:

    -exec-interrupt

    Asynchronous command. Interrupts the background execution of the
    target. 
    ...

Bob Rossi

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 14:00         ` Bob Rossi
@ 2005-11-22 14:12           ` Vladimir Prus
  2005-11-22 14:19             ` Daniel Jacobowitz
  2005-11-22 20:39             ` Nick Roberts
  0 siblings, 2 replies; 18+ messages in thread
From: Vladimir Prus @ 2005-11-22 14:12 UTC (permalink / raw)
  To: gdb

On Tuesday 22 November 2005 17:00, Bob Rossi wrote:

> > > You could interupt the inferior, to tell it to stop. I think that would
> > > be equivalent to typing ^c at the console now.
> >
> > Well, exactly. I can do "^C" today, so nothing gained at all.
>
> Well, clearly sending the ^C is not as nice as the MI -exec-interrupt
> command. The former is simply legacy from a console driven front end.
> It's not intuitive.

Yes, just a bit.

> > > I'm sure there are other useful features also.
> >
> > Still curious what are they ;-)
>
> If you look in the documentation, the 'Asynchronous command.' will be
> next to each command that is supposed to support an asynchronous style
> command. For example:
>
>     -exec-interrupt

Except for "interrupt", other occurences are for various flavours of "run" -- 
continue/next/nexti/step/stepi/unti/finish. So, it still looks like 
"-exec-interrupt" is the only command that can be meaningfully issued while 
inferior is running.

- Volodya


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 14:12           ` Vladimir Prus
@ 2005-11-22 14:19             ` Daniel Jacobowitz
  2005-11-22 20:39             ` Nick Roberts
  1 sibling, 0 replies; 18+ messages in thread
From: Daniel Jacobowitz @ 2005-11-22 14:19 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

On Tue, Nov 22, 2005 at 05:11:58PM +0300, Vladimir Prus wrote:
> Except for "interrupt", other occurences are for various flavours of "run" -- 
> continue/next/nexti/step/stepi/unti/finish. So, it still looks like 
> "-exec-interrupt" is the only command that can be meaningfully issued while 
> inferior is running.

Not a lot of work has been done on taking advantage of asynchronous
execution, since so few targets offer it today.  There's going to be
more in the future, I think.  It's important mostly as an
infrastructure change for the GDB internals.

-- 
Daniel Jacobowitz
CodeSourcery, LLC

^ permalink raw reply	[flat|nested] 18+ messages in thread

* How can I unsubscribe?
  2005-11-22 12:13 ` Bob Rossi
  2005-11-22 12:20   ` Vladimir Prus
@ 2005-11-22 14:59   ` Gengis Toledo
  2005-11-22 15:02     ` Daniel Jacobowitz
  1 sibling, 1 reply; 18+ messages in thread
From: Gengis Toledo @ 2005-11-22 14:59 UTC (permalink / raw)
  To: Bob Rossi, Vladimir Prus; +Cc: gdb

Thanks

- - - - - - - - - - - - - - - - - - - - - - - - 
       Correo enviado con Software libre
   http://es.wikipedia.org/wiki/Software_libre
- - - - - - - - - - - - - - - - - - - - - - - -

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: How can I unsubscribe?
  2005-11-22 14:59   ` How can I unsubscribe? Gengis Toledo
@ 2005-11-22 15:02     ` Daniel Jacobowitz
  2005-11-22 15:11       ` Daniel Jacobowitz
  2005-11-22 16:48       ` Christopher Faylor
  0 siblings, 2 replies; 18+ messages in thread
From: Daniel Jacobowitz @ 2005-11-22 15:02 UTC (permalink / raw)
  To: gdb, gdb

The headers of every message from the list contain unsubcribe
instructions.  Also see http://sourceware.org/ml/#faqs.

-- 
Daniel Jacobowitz
CodeSourcery, LLC

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: How can I unsubscribe?
  2005-11-22 15:02     ` Daniel Jacobowitz
@ 2005-11-22 15:11       ` Daniel Jacobowitz
  2005-11-22 16:48       ` Christopher Faylor
  1 sibling, 0 replies; 18+ messages in thread
From: Daniel Jacobowitz @ 2005-11-22 15:11 UTC (permalink / raw)
  To: gdb, gdb

The headers of every message from the list contain unsubcribe
instructions.  Also see http://sourceware.org/ml/#faqs.

-- 
Daniel Jacobowitz
CodeSourcery, LLC

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: How can I unsubscribe?
  2005-11-22 15:02     ` Daniel Jacobowitz
  2005-11-22 15:11       ` Daniel Jacobowitz
@ 2005-11-22 16:48       ` Christopher Faylor
  2005-11-22 18:42         ` Dave Korn
  1 sibling, 1 reply; 18+ messages in thread
From: Christopher Faylor @ 2005-11-22 16:48 UTC (permalink / raw)
  To: gdb

On Tue, Nov 22, 2005 at 10:02:13AM -0500, Daniel Jacobowitz wrote:
>The headers of every message from the list contain unsubcribe
>instructions.  Also see http://sourceware.org/ml/#faqs.

I can add a trailer to all mail to this mailing list which has this
information, too, if needed.

The cygwin list has this for a trailer:

  --
  Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
  Problem reports:       http://cygwin.com/problems.html
  Documentation:         http://cygwin.com/docs.html
  FAQ:                   http://cygwin.com/faq/

Is there any interest in adding this kind of info to the gdb list(s)?

cgf

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: How can I unsubscribe?
  2005-11-22 16:48       ` Christopher Faylor
@ 2005-11-22 18:42         ` Dave Korn
  0 siblings, 0 replies; 18+ messages in thread
From: Dave Korn @ 2005-11-22 18:42 UTC (permalink / raw)
  To: gdb

Christopher Faylor wrote:
> On Tue, Nov 22, 2005 at 10:02:13AM -0500, Daniel Jacobowitz wrote:
>> The headers of every message from the list contain unsubcribe
>> instructions.  Also see http://sourceware.org/ml/#faqs.
> 
> I can add a trailer to all mail to this mailing list which has this
> information, too, if needed.
> 
> The cygwin list has this for a trailer:
> 
>   --
>   Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>   Problem reports:       http://cygwin.com/problems.html
>   Documentation:         http://cygwin.com/docs.html
>   FAQ:                   http://cygwin.com/faq/
> 
> Is there any interest in adding this kind of info to the gdb list(s)?
> 
> cgf


  Please!  I reckon all the sourceware lists could use a footer with a pointer
to the mailing list faq, and perhaps also the project's homepage and the
list's archive.... 



    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 12:20   ` Vladimir Prus
  2005-11-22 13:38     ` Bob Rossi
@ 2005-11-22 20:04     ` Eli Zaretskii
  1 sibling, 0 replies; 18+ messages in thread
From: Eli Zaretskii @ 2005-11-22 20:04 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

> From: Vladimir Prus <ghost@cs.msu.su>
> Date: Tue, 22 Nov 2005 15:20:23 +0300
> 
> why do I ever want to issue commands while inferior is running? For 
> which kind of commands is that useful?

It would be useful for commands that do not access the running
inferior.  Simple examples include `help' commands.  Less trivial
examples include commands that consult the symbol tables.  Really
tricky commands would be useful if and when GDB supports debugging
more than one program--you could examine data in one program while the
other one runs.

But, as Daniel points out, for now this is just an infrastructure that
still awaits to be used.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
  2005-11-22 14:12           ` Vladimir Prus
  2005-11-22 14:19             ` Daniel Jacobowitz
@ 2005-11-22 20:39             ` Nick Roberts
       [not found]               ` <200511230931.50438.ghost@cs.msu.su>
  1 sibling, 1 reply; 18+ messages in thread
From: Nick Roberts @ 2005-11-22 20:39 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

 > continue/next/nexti/step/stepi/unti/finish. So, it still looks like 
 > "-exec-interrupt" is the only command that can be meaningfully issued while 
 > inferior is running.

Rather than discuss the possible benefits of asynchronous operation in an
abstract manner, I suggest that you integrate as much of MI into your
front-end (kdevelop?) to find out the limitations.  These limitations
can then be discussed within a context.

In Emacs, Richard Stallman has stated that any front-end fro GDB must keep the
GUD buffer.  This is used to enter CLI commands.  I have found that the best
way to get CLI commands to work well with MI is through asynchronous
operation.  Apple have already done this with their version of GDB and you can
see it in action by installing a copy of Opendarwin.

I believe that Daniel J is interested in asynchronous operation for scripting,
but until you see a need for it for your purposes, I see little point in
debating its merits or lack of them.

Nick

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: MI: asynchronous operation details
       [not found]               ` <200511230931.50438.ghost@cs.msu.su>
@ 2005-11-23  9:31                 ` Nick Roberts
  0 siblings, 0 replies; 18+ messages in thread
From: Nick Roberts @ 2005-11-23  9:31 UTC (permalink / raw)
  To: Vladimir Prus; +Cc: gdb

[in future, please cc the list]

 > > Rather than discuss the possible benefits of asynchronous operation in an
 > > abstract manner, I suggest that you integrate as much of MI into your
 > > front-end (kdevelop?) to find out the limitations.  These limitations
 > > can then be discussed within a context.
 > 
 > So, this amount to saying "you need to convert all of KDevelop to MI to 
 > understand how anynchronous operation is good"?

I'm saying that if you only look for perceived flaws in MI and are not
prepared to write any code that uses it, then you're wasting other people's
time.

 >                                                Sorry, I'm not happy with 
 > this idea -- if "anynchronous operation" is one of selling points of MI, and 
 > there's no clear list of advantages of anynchronous operation, I'm rather 
 > worried.

AFAIK no-one is selling anything.  Currently anynchronous operation is not
really even part of MI.  If you choose to use MI and contribute to its
development, that is welcome.  If you decide not to use it, thats your choice.

 > Speaking about limitations -- KDevelop already has a debugger, writted before 
 > me, and it works mostly fine. There are no grave limitations I want to fix. 
 > The reasons I'm trying MI are just:
 > 
 >    - Simplify parsing of responses.
 >    - Easily determine if command has failed or not.
 > 
 > > In Emacs, Richard Stallman has stated that any front-end fro GDB must keep
 > > the GUD buffer.  This is used to enter CLI commands.  I have found that the
 > > best way to get CLI commands to work well with MI is through asynchronous
 > > operation.  
 > 
 > Why?

It decouples the input, CLI or MI, from the output.  There might be other ways
and it might be partly fortuitous, because all the MI commands that control
execution: -exec-run, -exec-next, -exec-finish etc, are really CLI commands in
disguise, but it works.  Also, thats the path taken by Apple who have a lot of
experience in this area with Project Builder and Xcode.  Thats enough to
convince me.

 > ...Large number of commands are meaningless while inferiour is running -- no 
 > matter if those commands are CLI ones.
 > Look, I'm not trying to say asynchronous operation is useless, or something. 
 > I'm trying to understand if I'll be missing something by ignoring it, and if 
 > I should design to use asynchronous operation. 
 >
 > > Apple have already done this with their version of GDB and you 
 > > can see it in action by installing a copy of Opendarwin.
 > 
 > To begin with, I don't have OSX anywhere to try Opendarwin.

You don't need OSX.  You can download Opendarwin from:

http://www.opendarwin.org

and install it on a partition.  The version that I have (OpenDarwin 7.2.1) is
all comand line and came on a CD.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2005-11-23  8:36 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-22  8:33 MI: asynchronous operation details Vladimir Prus
2005-11-22  9:07 ` Konstantin Karganov
2005-11-22 12:07   ` Vladimir Prus
2005-11-22 12:13 ` Bob Rossi
2005-11-22 12:20   ` Vladimir Prus
2005-11-22 13:38     ` Bob Rossi
2005-11-22 13:49       ` Vladimir Prus
2005-11-22 14:00         ` Bob Rossi
2005-11-22 14:12           ` Vladimir Prus
2005-11-22 14:19             ` Daniel Jacobowitz
2005-11-22 20:39             ` Nick Roberts
     [not found]               ` <200511230931.50438.ghost@cs.msu.su>
2005-11-23  9:31                 ` Nick Roberts
2005-11-22 20:04     ` Eli Zaretskii
2005-11-22 14:59   ` How can I unsubscribe? Gengis Toledo
2005-11-22 15:02     ` Daniel Jacobowitz
2005-11-22 15:11       ` Daniel Jacobowitz
2005-11-22 16:48       ` Christopher Faylor
2005-11-22 18:42         ` Dave Korn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).