[MI] -exec-return or CLI 'return' do not trigger MI events

Vladimir Prus vladimir@codesourcery.com
Fri Feb 12 15:37:00 GMT 2010


On Friday 12 February 2010 18:33:28 Marc Khouzam wrote:

> > -----Original Message-----
> > From: gdb-owner@sourceware.org 
> > [mailto:gdb-owner@sourceware.org] On Behalf Of Vladimir Prus
> > Sent: Friday, February 12, 2010 5:28 AM
> > To: gdb@sources.redhat.com
> > Subject: Re: [MI] -exec-return or CLI 'return' do not trigger 
> > MI events
> > 
> > Marc Khouzam wrote:
> > 
> > > Hi,
> > > 
> > > I just noticed that GDB 7.0.1 does not issue MI events
> > > *running and *stopped for the CLI 'return' command.
> > > This is the relevant output, while the whole (small)
> > > session is after.
> > > 
> > > (gdb) -exec-return
> > > 
> > ^done,frame={level="0",addr="0x08048412",func="foo",args=[],fi
> > le="a.cc",fullname="/local/lmckhou/testing/a.cc",line="6"}
> > > (gdb) return
> > > &"return\n"
> > > ~"#0  main () at a.cc:9\n"
> > > ~"9\t    return 0;\n"
> > > ^done
> > > 
> > > Do you want me to write a bug?
> > 
> > For all I can tell, the 'return' command does not actually 
> > resume the target.
> > It just pops the stack.
> 
> Ok, but how does the frontend know the stack has been poped
> and the editor should show a new line?

I think it has to special-case the '-exec-return' command. Note that
the new stack is reported as the result.

> When we use GDB 7.0 we only listen for MI events to update the
> frontend data.
> 
> I'll have to fix this for '-exec-return' anyway to support
> GDB 7.0, but with respect to GDB itself, aren't we missing
> some MI event then?

I don't know any other command like that, so special-casing
-exec-return is just as good as a new notification -- that
frontend has to specially support just as well.

- Volodya



More information about the Gdb mailing list