This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Interrupt packets in the remote protocol
- From: Simon Kagstrom <simon dot kagstrom at gmail dot com>
- To: gdb at sourceware dot org
- Date: Sat, 3 Nov 2007 18:28:47 +0100
- Subject: Interrupt packets in the remote protocol
Hello!
I'm developing a binary translator that translates MIPS binaries into
Java bytecode [1], which enables C/C++ programs to be executed on J2ME
platforms. To get good debugging support, I'm developing a GDB server
that connects to the Java JDB debugger and "translates" commands in the
GDB remote protocol to JDB commands.
The server mostly works now except for interrupts (Ctrl-C in GDB). It looks
like the interrupt packets (plain 0x03) are never sent. A log with
'set debug remote 1' looks as follows:
(gdb) c
Continuing.
Sending packet: $m1000000,4#1e...Ack
Packet received: 3c020000
Sending packet: $Z0,1000004,4#6b...Ack
Packet received: OK
Packet Z0 (software-breakpoint) is supported
Sending packet: $vCont?#49...Ack
Packet received: vCont;c
Packet vCont (verbose-resume) is NOT supported
Sending packet: $Hc0#db...Ack
Packet received:
Sending packet: $c#63...Ack
Packet received: T0525:01000004;
Sending packet: $z0,1000004,4#8b...Ack
Packet received: OK
Sending packet: $Z0,1000000,4#67...Ack
Packet received: OK
Sending packet: $Hc0#db...Ack
Packet received:
Sending packet: $c#63...Ack
remote_interrupt called
remote_stop called
My server has two threads, one that receives messages from GDB and one that
handles packets, controls JDB and sends replies back to GDB. The "receiver"
thread is waiting for messages when Ctrl-C is sent in GDB.
Did I miss some GDB configuration option or some other obvious thing?
--
// Simon
[1] http://cibyl.googlecode.com