2016-02-29 119 views
4

我試圖在eclipse中設置gdb調試器來連接到遠程程序。這裏是我正在使用的設置:試圖連接時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上運行的遠程程序。我沒有問題使用遠程調試配置來調試我的程序,但是,當我嘗試連接到遠程程序時,出現以下錯誤: enter image description here

這是我如何設置我的調試器以連接到遠程應用:

enter image description here

enter image description here

我使用下面的腳本gdbinit:

handle SIG34 nostop noprint pass 
set verbose on 
set sysroot 

我也試過在兩邊使用相同的GDB版本,並得到了相同的結果。在這一點上,我願意接受任何建議!

回答

2

好的,所以我覺得我的工作。這個問題似乎是因爲我在目標PC上使用的舊版GDB版本。正如我在我的問題中提到的,我使用的是GDB 7.6.1-64.el7。爲了更新GDB,我從http://ftp.gnu.org/gnu/gdb/下載了最新的源代碼。請記住更新gdb和gdbserver。 gdbserver在下載包中提供。下面是我拿了之後我把GDB檔案目標的/ 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安裝或複製的GDB和gdbserver的二進制文件,並把它到/ usr/bin中或/ bin目錄。你也需要重新啓動gdbserver的:

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

您可以添加這一行到/etc/rc.local讓你開始在Linux啓動的gdbserver的。