From: Ivo Raisr <ivosh@ivosh.net>
To: gdb@sourceware.org
Subject: Multi-packet gdb server request/response - problem?
Date: Tue, 10 Dec 2013 12:23:00 -0000 [thread overview]
Message-ID: <CANXv6=u1BjBdJJDNtF=j=djNJVoNHo45gL4JZruzDYsaSqEU6Q@mail.gmail.com> (raw)
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:
-----------
Sending packet:
$qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+#b5...relaying
data between gdb and process 12033
Ack
Packet received:
PacketSize=3fff;QStartNoAckMode+;QPassSignals+;qXfer:auxv:read+;
qXfer:features:read+
Packet qSupported (supported-packets) is supported
Sending packet: $QStartNoAckMode#b0...Ack
Packet received: OK
...
-----------
After a while, program gets stopped.
If I then enter:
(gdb) continue
conversation continues (approx 40 packets are exchanged) but then
abruptly ends with error:
Sending packet: $s#73...Sending packet: $mfe7c852c,4#34...Packet
received: T0505:08f8fe37;04:e8f7fe37;08:4d761100;thread:1;
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'
packet.
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
https://sourceware.org/gdb/onlinedocs/gdb/Overview.html
but in vain.
Should you need more information, let me know.
next reply other threads:[~2013-12-10 12:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-10 12:23 Ivo Raisr [this message]
2013-12-10 21:46 ` Philippe Waroquiers
[not found] ` <CANXv6=vFYfEDLPVHv_TRK4VTLmFX6c+2hvmodM9dg3gcJA4_jQ@mail.gmail.com>
2013-12-12 15:14 ` Fwd: " Ivo Raisr
2013-12-12 15:44 ` Ivo Raisr
2013-12-12 16:46 ` Pedro Alves
2013-12-11 11:43 ` Yao Qi
2013-12-14 3:39 Ivo Raisr
2013-12-16 14:31 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CANXv6=u1BjBdJJDNtF=j=djNJVoNHo45gL4JZruzDYsaSqEU6Q@mail.gmail.com' \
--to=ivosh@ivosh.net \
--cc=gdb@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox