Re: Interrupting remote targets from GDB

Daniel Jacobowitz
2005-11-17T18:51:01Z

On Thu, Nov 17, 2005 at 11:20:43AM -0700, Kevin Buettner wrote:
> set remotebreak
> If set to on, GDB sends a BREAK signal to the remote when you
> press the Ctrl-C key to interrupt the program running on the
> remote. If set to off, GDB sends the `Strl-C' character
> instead. The default is off, since most remote systems expect
> to see `Ctrl-C' as the interrupt signal.

Mind fixing the Strl-C ? ;-)

> I think this documentation is fine, but would also like to see some
> suitable documentation added to the section describing the GDB remote
> protocol. I suggest that a section called "Interrupts" be added in
> between the sections "Register Packet Format" and "Examples". I propose
> that it contain the following text:
>
> When a program on the remote target is running, GDB may attempt
> to interrupt it by sending a `Ctrl-C' or a BREAK, control of which
> is specified via GDB's `remotebreak' setting. The precise meaning
> of BREAK is defined by the transport mechanism and may, in fact,
> be undefined. `Ctrl-C', on the other hand, is defined for all
> transport mechanisms and is represented by sending the single byte
> 0x03. `Ctrl-C' must not be sent as part of a packet as defined in
> the "Overview".
>
> Stubs are not required to recognize these interrupt mechanisms and
> the precise meaning associated with receipt of the interrupt is
> implementation defined. If the stub is successful at interrupting
> the running program, it is expected that it will send one of the
> `Stop Reply Packets' to GDB as a result of successfully stopping
> the program.
>
> Comments?

Fine by me; can we also add a word about what to do with interrupts
when the target is stopped? I believe they should be dropped rather
than responded to, per conversation on gdb@ earlier this month.

--
Daniel Jacobowitz
CodeSourcery, LLC