谢谢你的建议,暂时还不能更换,更高的版本需要porting。我自己去看下代码,如果解决了,我会把解决办法发出来 On Wed, Dec 12, 2012 at 10:26 AM, Yao Qi <qiyaoltc@xxxxxxxxx> wrote: > 第一次失败的: > > > On 12/12/2012 09:47 AM, Li Bingqiu wrote: > >> (gdb) target remote :1234 >> Remote debugging using :1234 >> Sending packet: $qSupported#37...Sending packet: >> $qSupported#37...Sending packet: $qSupported#37...Ack >> > > 这里不对。 gdb 莫名其妙的连续发出了三个qSupported packet,一般情况 下,GDB在target remote > 的时候,只用发出一个qSupported packet,参见你第二 次成功的output。 > > > 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+ >> > > 前边的三个qSupported packet,导致后边的packet都乱了,所以这里报错了。 > > 如果你们可以更换gdb,那就更新到最新的gdb (6.8有点太旧了),如果还有问 题,去sourcware bugzilla > 开bug,到时候会有人去fix。 不过你们不能更换 gdb,那就自己fix吧。看看 remote.c:remote_query_**supported > 的代码。 Good luck! > >