Re: How to tell gdb to exit?

Daniel Jacobowitz
2004-05-06T19:14:55Z

On Thu, May 06, 2004 at 11:35:21AM -0500, Grant Edwards wrote:
> On Thu, May 06, 2004 at 12:18:58PM -0400, Daniel Jacobowitz wrote:
>
> > > My bad. It looks like -target-disconnect works afer all. [of
> > > course I swear I tried it before and it didn't.] -gdb-exit
> > > still refuses to exit, but it will exit on EOF.
> > >
> > > So, this seems to work:
> > >
> > > #!/bin/bash
> > > h8300-elf-gdb -interpreter=mi <<EOF
> > > 10-target-select async /dev/ttyS0
> > > 20-target-download test.elf
> > > 30-exec-continue
> > > 40-target-disconnect
> > > EOF
> > >
> > > I messed around with this on and off for days, and couldn't
> > > find the answer, but as soon as I put my foot in my mouth
> > > publically, the answer appears. Odd, that.
> >
> > This will leave your target stopped, presumably.
>
> Perhaps it tries to stop the target, but it can't. Once the
> program starts, the gdb stub is "gone". My app has taken over
> the UART for use as console I/O, and it's no longer possible to
> communicate with the gdb stub[1]. It would be nice to have
> another UART so one could be used for console I/O and the other
> for GDB, but such is life.
>
> > The "disconnect" commandd for the CLI will do the same thing.
> > Is that what you want?
>
> With the CLI, you can only send the disconnect command after
> you've stopped the target. In my script above, I'm sending the
> disconnect command while the target is still running. I guess
> since it's no longer possible to stop the applicaion from gdb,
> it keeps running.

Try target async-remote? I hadn't realized you were using async in the
MI mode; in that case, disconnect will just break the connection.

--
Daniel Jacobowitz