This is the mail archive of the
mailing list for the GDB project.
Multi-packet gdb server request/response - problem?
- From: Ivo Raisr <ivosh at ivosh dot net>
- To: gdb at sourceware dot org
- Date: Tue, 10 Dec 2013 13:22:54 +0100
- Subject: Multi-packet gdb server request/response - problem?
- Authentication-results: sourceware.org; auth=none
https://sourceware.org/gdb/onlinedocs/gdb/Overview.htmlGood morning all!
I use gdb 7.6 (on Solaris 11.1 x86 if that matters) which
is used to talk to a remote gdb server stub implementation (inside
valgrind, if that matters).
gdb is invoked as follows:
$ gdb --quiet -l 60 --nx ./my_binary
After the instrumented binary (with remote gdb server stub
implementation) starts, gdb is commanded to talk to it:
(gdb) set debug remote 1
(gdb) target remote | valgrind-gdb-relay --along-with-other-options
Then the conversation starts (seemingly correctly) with:
data between gdb and process 12033
Packet qSupported (supported-packets) is supported
Sending packet: $QStartNoAckMode#b0...Ack
Packet received: OK
After a while, program gets stopped.
If I then enter:
conversation continues (approx 40 packets are exchanged) but then
abruptly ends with error:
Sending packet: $s#73...Sending packet: $mfe7c852c,4#34...Packet
Reply contains invalid hex digit 84
Please take a particular note that in this case gdb did not wait for a reply
to its '$s' packet but instead immediately issued another '$mfe7c852c,4'
This is also verified by dumping packets on the other side in the gdb
server stub implementation:
- read from gdb $s#73$mfe7c852c,4#34
- write to gdb $T0505:08f8fe37;04:e8f7fe37;08:4d761100;thread:1;#d8$0*"00#dc
So on the wires it looks like:
- gdb wrote two requests without waiting for a response for the first one
- gdb received two concatenated responses for these two requests
- requests and responses alone look well-formed
My questions are:
- Is multi-packet request/response supported by gdb?
- In other words, is that gdb's behaviour intentional?
- If yes, then why it cannot handle multi-packet response?
- If no, then is that a bug?
I was trying to confirm this with a protocol description available at
but in vain.
Should you need more information, let me know.