This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: MI output command error


> From: Nick Roberts <nickrob@snap.net.nz>
> Date: Sat, 12 Mar 2005 10:49:41 +1300
> Cc: Dave Korn <dave.korn@artimi.com>,
> 	Karganov Konstantin <kostik@ispras.ru>, GDB <gdb@sources.redhat.com>
> 
>  > Lack of implementation.  No one's done the work.
> 
> Thats understandable. However, given that MI was introduced in GDB 5.0, I
> think there should be something in the manual explaining this as it seems to
> create a lot of confusion. It needs to be written by someone who understands
> the issue i.e not myself.

I'm all for documenting this in some useful way, but I fail to see how
could this be done.  Describing the async operation itself is already
a big challenge, as the details are extremely confusing, unless you've
read the code several times and have a good understanding of the
underlying system calls (like `poll' and `select').  Differences
between interpreters add another dimension of complexity to this.

> I believe that operation is asynchronous with certain targets,
> although I have never managed to create these conditions, even with
> gdbserver over TCP.

Actually, I think that the asynchronous operation is independent of
the target.  The infrastructure for this is in event-loop.c, which is
not specific to any target.

The problem with implementing async operation with the CLI interface
is, AFAIU, not its dependence on some target-specific feature, but
rather the need to redesig the CLI front end to do something useful
while waiting for a prolonged operation to run to completion.  For GUI
front ends, such as those who use MI, it's clear what to do during
that time, and the separate-process implementation makes it even
easier to design.  By contrast, the CLI interface is part of the GDB
process.

I don't consider myself a specialist in these matters, so please take
the above with a grain of salt (i.e., it might all be wrong ;-).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]