Re: starting gdb/mi from FE

Bob Rossi
2006-06-06T01:56:21Z

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