[Lldb-commits] [lldb] r196610 - Fixed the GDBRemoteCommuncation to return a new GDBRemoteCommuncation::PacketResult enum for all packet sends/receives.

Ed Maste emaste at freebsd.org
Tue Dec 10 12:49:04 PST 2013

On 10 December 2013 14:21, Ed Maste <emaste at freebsd.org> wrote:
>> This actually does fix attaching to GDB servers that don't support QStartNoAckMode and was the main reason for making this fix!
> Ok.  I'm trying to use lldb against QEMU's GDB server, and fail while
> trying the initial handshake.

It seems there are a couple of issues here, at least one of which
appears to be a QEMU bug.

On one instance, after restarting both QEMU and LLDB, I see:

(lldb) log enable gdb-remote packets
(lldb) gdb-remote localhost:1234
<   1> send packet: +
history[1] tid=0x18c46 <   1> send packet: +
<  19> send packet: $QStartNoAckMode#b0
<  17> read packet: $T02thread:01;#04
<   1> send packet: +
error: failed to get reply to handshake packet

and indeed, a telnet to :1234 shows QEMU outputs "$T02thread:01;#04"
without any input from the client, so the unexpected received packet
was just waiting in the input buffer.  Retrying
QueryNoAckModeSupported (once) if it fails is successful as a hack /

More information about the lldb-commits mailing list