[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 /
workaround.
More information about the lldb-commits
mailing list