使用gdb服务器和客户端的远程调试不工作

使用gdb服务器和客户端的远程调试不工作,gdb,remote-debugging,gdbserver,Gdb,Remote Debugging,Gdbserver,我正在尝试使用运行在运行Linux内核版本2.6.38.8的ARM目标上的gdbserver进行远程调试 在这个目标上,我运行了一个gdbserver,它是一个32位的ELF文件,如下所示: ./gdbserver --remote-debug --attach 192.xxx.xxx.2:2345 1600 Attached; pid = 1600 Listening on port 2345 (gdb) **target remote 192.xxx.xxx.2:2345** Remo

我正在尝试使用运行在运行Linux内核版本2.6.38.8的ARM目标上的gdbserver进行远程调试

在这个目标上,我运行了一个gdbserver,它是一个32位的ELF文件,如下所示:

./gdbserver --remote-debug --attach 192.xxx.xxx.2:2345 1600

Attached; pid = 1600
Listening on port 2345
(gdb) **target remote 192.xxx.xxx.2:2345**

Remote debugging using 192.xxx.xxx.2:2345

**warning: Architecture rejected target-supplied description**
启动时的gdb服务器显示:

此gdbserver配置为“arm none linux gnueabi

在Ubuntu(32位)机器上,我运行GDB客户端,它看起来也是32位的(/usr/bin/GDB),如下连接到远程GDB服务器。 在GDB提示下,我输入如下内容:

./gdbserver --remote-debug --attach 192.xxx.xxx.2:2345 1600

Attached; pid = 1600
Listening on port 2345
(gdb) **target remote 192.xxx.xxx.2:2345**

Remote debugging using 192.xxx.xxx.2:2345

**warning: Architecture rejected target-supplied description**
以下是我在客户端的GDB提示符上看到的错误:

Remote 'g' packet reply is too long: fcfdffff901bdbbe84d00e4002000000000000000000000000000100a2000000901bdbbe0000000000a006400000000000000000f819dbbe34bd3a4044bd3a40100000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c4200b808422200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000
(gdb)
发出此命令后,我在目标gdbserver上看到以下错误:

Remote debugging from host 192.xxx.xxx.28

**readchar: Got EOF**

Remote side has terminated connection.  GDBserver will reopen the connection.
客户gdb表示:

This GDB was configured as "**i686-linux-gnu**".
注意:还尝试使用
--target debug
选项在目标上运行gdbserver,但仍然不起作用,但在客户端尝试连接时,它在服务器上抛出了更多错误。如果有帮助的话,我可以把这些错误写出来

错误是什么

服务器和客户端之间的不匹配是什么


我如何解决这个问题并使其正常工作?

我已经设法获得了一台GDB服务器和一台GDB客户端,它已经为我的32位Ubuntu(客户端GDB)和ARM Cortex A8 target(GDB服务器)工作过。我从中获得了预构建的二进制文件

这些工作做得很好


我也试过了,效果也不错。

我无法测试,但在x86系统上安装支持ARM的gdb可能会有所帮助
apt get install gdb arm none eabi
将安装
/usr/bin/arm none eabi gdb
,在我的ubuntu 14.04 64位系统上报告
此gdb配置为“-host=x86_64-linux-gnu--target=arm none eabi”
@MarkPlotnick将在明天和明天进行检查update@MarkPlotnick-当我尝试使用apt get install gdb arm none eabi进行安装时,出现一个错误,显示“找不到包gdb arm none eabi”。我错过了什么?如何安装gdb软件包?@MarkPlotnick-我甚至尝试从src构建gdb 7.3以配置target=arm,但失败了。你们有可能分享你们的arm目标的gdb二进制文件吗?我的Ubuntu是11.10(32位)系统