eclipse – 尝试连接时GDB崩溃

我试图在
eclipse中设置gdb调试器以附加到远程程序.这是我正在使用的设置:

对于开发PC(dev),我在Windows 7 PC上使用Eclipse Mars. Eclipse设置为使用GCC / G交叉编译器和gdb作为远程调试器.我使用Sourcery CodeBench Lite作为Windows中的开发工具.

  dev> gdb --version
  dev> GNU gdb (Sourcery CodeBench Lite 2014.05-25) 7.7.50.20140217-cvs

目标PC是RHEL 7,我使用gdbserver,以便我可以远程调试我的应用程序.

  target> gdbserver --version
  target> GNU gdbserver (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
       Copyright (C) 2013 Free Software Foundation, Inc.

我在eclipse中有两个调试配置,一个用于远程调试,另一个用于连接到在目标PC中运行的远程程序.我使用远程调试配置调试程序没有问题,但是,当我尝试连接到远程程序时,我收到以下错误:
《eclipse – 尝试连接时GDB崩溃》

以下是我将调试器设置为连接到远程应用程序的方法:

《eclipse – 尝试连接时GDB崩溃》

《eclipse – 尝试连接时GDB崩溃》

我使用以下gdbinit脚本:

 handle SIG34 nostop noprint pass
 set verbose on
 set sysroot 

我也试过在两边使用相同的GDB版本并得到相同的结果.在这一点上,我对任何建议持开放态度!

最佳答案 好的,所以我觉得我搞定了.问题似乎是因为我在目标PC上使用的旧GDB版本.正如我在我的问题中提到的,我使用的是GDB 7.6.1-64.el7.为了更新GDB,我从
http://ftp.gnu.org/gnu/gdb/下载了最新的源代码.请记住更新gdb和gdbserver. gdbserver在下载包中提供.以下是我将gdb存档放在target / tmp后的步骤:

target_pc/tmp> gtar -xvf gdb-7.11.tar.gz
target_pc/tmp> cd gdb-7.11 
target_pc/tmp/gdb-7.11> ./configure
target_pc/tmp/gdb-7.11> make 
target_pc/tmpgdb-7.11> cd gdb/gdbserver 
target_pc/tmpgdb-7.11/gdb/gdbserver> ./configure
target_pc/tmpgdb-7.11/gdb/gdbserver> make

成功构建之后,您可以使用make install或复制gdb和gdbserver二进制文件并将其放入/usr/bin或/ bin目录.您还需要重新启动gdbserver:

 /usr/bin/gdbserver --remote-debug --multi :8000 

你可以将这一行添加到/etc/rc.local,以便在linux启动时启动gdbserver.

点赞