starting gdb/mi from FE

Bob Rossi bob_rossi@cox.net
Tue Jun 6 01:56:00 GMT 2006


On Mon, Jun 05, 2006 at 09:20:02PM -0400, Daniel Jacobowitz wrote:
> On Tue, Jun 06, 2006 at 12:54:54PM +1200, Nick Roberts wrote:
> > I can't remember the previous outcome (I got lost with all the handshakes) but
> > I would prefer an MI command, -mi-version say, that the FE could use.  It
> > could have a major and minor part: the major number to refer to the default MI
> > level; and the minor to help identify small changes made within one level.  Of
> > course, we'd have to remember to update it, when appropriate.
> > 
> > Pre GDB 6.5 wouldn't really work in this case either, but
> > 
> >   (gdb)
> >   -mi-version
> >   ^error,msg="Undefined MI command: mi-version"
> >   (gdb)
> > 
> > wouldn't require restarting GDB, while:
> > 
> >   nickrob/21 gdb -i=mi2,mi1 myprog
> >   Interpreter `mi2,mi1' unrecognized
> >   nickrob/22
> > 
> > would.
> 
> Two items.
> 
> Nick, could you explain why the restart is a problem?  The time GDB
> takes to reject an interpreter doesn't seem too bad.  I don't want to
> optimize the wrong thing.

I would prefer not to restart GDB. I'm not so sure I agree with you that
the restart time is not a problem. I think it would be noticable on
older machines.

> Bob, since we last discussed this the interpreter commands have matured
> a bit.  There's even tab completion for the CLI interpreter-exec
> command; try "interpreter-exec <tab>" and you'll get a list.

Yes, I see that now. My patch was causing GDB to crash when doing that.
I'll have to look more closely at the patch.

> Would -interpreter-list and -interpreter-set do it for you?
> 
> I thought there already was a "set interp", but it seems I was
> mistaken.

Well, I'm not sure. My initial guess is no. Nick, please check this part
out also, especially in regards to your -mi-version command.

If GDB successfully starts with a -i=miN or just using the CLI and
hoping to switch to MI, then GDB is allowed to execute an arbitrary
number of commands before the FE can issue even a single command.
At least, in the CLI mode this is true if the user has commands in
.gdbinit.

I really can't afford to recieve a single MI output commadn before I
determine what generated parser I am going to use. So, I'll be stuck
starting GDB N times :(

Bob Rossi



More information about the Gdb-patches mailing list