[hellogcc] Re: Why GDB fails to connect on first attempt and always succeed on second

  • From: Li Bingqiu <lbingqiu@xxxxxxxxx>
  • To: hellogcc@xxxxxxxxxxxxx
  • Date: Wed, 12 Dec 2012 09:47:02 +0800

在target remote 之前, set debug remote 1,下面是输出的失败和成功的信息:


第二次成功的:
(gdb) set debug remote 1
(gdb) target remote :1234
Remote debugging using :1234
Sending packet: $qSupported#37...Ack
Packet received:
PacketSize=7cf;QPassSignals+;qXfer:libraries:read+;qXfer:auxv:read+;qXfer:features:read+
Packet qSupported (supported-packets) is supported
Sending packet: $qXfer:features:read:target.xml:0,7ca#46...Ack
Packet received: l<?xml version="1.0"?>\n<!-- Copyright (C) 2007, 2008 Free
Software Foundation, Inc.\n\n     Copying and distribution of this file,
with or without modification,\n     are permitted in any medium without
royalty provided the copyright\n     notice and this notice are preserved.
 -->\n\n<!DOCTYPE target SYSTEM "gdb-target.dtd">\n<target>\n
 <architecture>x</architecture>\n  <xi:include href="cpu.xml"/>\n</target>\n
warning: Can not parse XML target description; XML support was disabled at
compile time
Sending packet: $g#67...Ack
Packet received:
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000819a7f000000000000000000010800428709630000000000000000
Sending packet: $?#3f...Ack
Packet received: T051d:00819a7f;20:00010800;thread:e5;
Sending packet: $Hc-1#09...Ack
Packet received: OK
Sending packet: $qC#b4...Ack
Packet received: QCe5
Sending packet: $qOffsets#4b...Ack
Packet received:
[New Thread 229]
Sending packet: $qXfer:auxv:read::0,7ca#a5...Ack
Packet received:
l\020\000\000\000\000\000\000\000\006\000\000\000\000\000\001\000\021\000\000\000d\000\000\000\003\000\000\0004\000\b\000\004\000\000\000
\000\000\000\005\000\000\000\004\000\000\000\a\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\t\000\000\000\000\001\b\000\013\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\r\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\027\000\000\000\000\000\000\000\037\000\000\000��\232\177\000\000\000\000\000\000\000\000
Sending packet: $m80100,4#c6...Ack
Packet received: 02001f00
Sending packet: $m800fc,4#2e...Ack
Packet received: 00005f09
Sending packet: $m80100,4#c6...Ack
Packet received: 02001f00
0x00080100 in __start ()
Sending packet: $qSymbol::#5b...Ack
Packet received: qSymbol:6e70746c5f76657273696f6e
Packet qSymbol (symbol-lookup) is supported
Sending packet: $qSymbol::6e70746c5f76657273696f6e#4d...Ack
Packet received: OK

第一次失败的:

GNU gdb 6.8
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=x"...
(gdb) set debug
debug                 debug-file-directory  debugvarobj
(gdb) set debug remote 1
(gdb) target remote :1234
Remote debugging using :1234
Sending packet: $qSupported#37...Sending packet: $qSupported#37...Sending
packet: $qSupported#37...Ack
Packet received:
PacketSize=7cf;QPassSignals+;qXfer:libraries:read+;qXfer:auxv:read+;qXfer:features:read+
Packet qSupported (supported-packets) is supported
Sending packet: $qXfer:features:read:target.xml:0,7ca#46...Ack
Packet received:
PacketSize=7cf;QPassSignals+;qXfer:libraries:read+;qXfer:auxv:read+;qXfer:features:read+
Unknown remote qXfer reply:
PacketSize=7cf;QPassSignals+;qXfer:libraries:read+;qXfer:auxv:read+;qXfer:features:read+

On Tue, Dec 11, 2012 at 6:07 PM, Yao Qi <qiyaoltc@xxxxxxxxx> wrote:

> On 12/11/2012 05:20 PM, Li Bingqiu wrote:
>
>> (gdb-x) target remote :1234
>> Remote debugging using :1234
>> Unknown remote qXfer reply: PacketSize=7cf;QPassSignals+;**
>> qXfer:libraries:read+;qXfer:**auxv:read+;qXfer:features:**read+
>>
>
> 第二次成功的输出是什么? 你第二次重新启动gdb,还是重新执行 ‘target remote’?
>
> 在 target remote :1234 之前,可以 'set debug remote 1',打开调试输出,看看。
>
> 你的gdb太旧,不理解qemu 返回的一些packets,所以报错。但是我不确定。
>
> b.t.w, 这里可以说中文的。
>
>

Other related posts: