Re: MI output command error

Daniel Jacobowitz
2005-03-13T20:25:56Z

On Mon, Mar 14, 2005 at 09:14:13AM +1300, Nick Roberts wrote:
> > > Using MI:
> > >
> > > -target-select remote localhost:1234
> > > ^connected,thread-id="0",frame={addr="0x400012e0",func="??",args=[]}
> > > (gdb)
> > > 111-exec-continue
> > > 111^running
> > > (gdb)
> > > -exec-interrupt
> > >
> > > The MI command -exec-interrupt does not reach GDB
> > >
> > > -target-select async localhost:1234
> > > ^connected,thread-id="0",frame={addr="0x400012e0",func="??",args=[]}
> > > (gdb)
> > > 111-exec-continue
> > > 111^running
> > > (gdb)
> > > -exec-interrupt
> > > ^done
> > > (gdb)
> > > -exec-continue
> > > ^error,msg="Cannot execute command exec-continue while target running"
> > > (gdb)
> > >
> > > The MI command -exec-interrupt is acknowledged but again the inferior doesn't
> > > actually seem to continue execution and GDB seems to think the target is still
> > > running
> > >
> > > So it look like the asynchronous operation has been partially implemented.
> >
> > Are you interested in debugging this problem? If you are, I will
> > volunteer to add tests for it to the testsuite on platforms which
> > support gdbserver.
>
> At the moment I have some time, so I can offer to try. I will need some hand
> holding though. What files should I look at, and what behaviour would you expect?

Have I mentioned that I don't know anything about MI? :-) I'm afraid I
have no advice. I would expect -exec-interrupt to send a signal to the
target process, just like GDB's SIGINT handler does. Which isn't
perfect, but generally works.

--
Daniel Jacobowitz
CodeSourcery, LLC