Linux 下調試大型C/C++程式對於一般的程式員來說是一件不容易的事情,GDB提供了強大的調試功能及豐富的調試命令,但介面友好性及使用者體驗不如VS調試工具(PS:很多大牛能把GDB使用的出神入化,在此膜拜下),工欲善其事,必先利其器,本文主要講解在Windows環境下,使用Eclipse CDT通過GDBServer進行遠端偵錯。
一、要使用的工具 mingw-get-inst-20120426.exe gdb-7.4.1.tar.gz eclipse-cpp-indigo-SR2-incubation-win32.zip
二、安裝及配置
安裝mingw
開啟mingw-get-inst-20120426.exe,一路next,在選擇組件對話方塊中選擇C compile、C++ compile、MS Baseic System如下圖:
minGW編譯GDB 進入C:\MinGW\msys\1.0運行msys.bat開啟minGW類比環境 拷貝gdb-7.4.1.tar.gz到目前使用者目錄(C:\MinGW\msys\1.0\home\tuxingkai) tar zxvf gdb-7.4.1.tar.gz cd gdb-7.4.1 ./configure --target=i686-pc-linux-gnu 這一步很重要,要指定目標機器的類型 make && make install
安裝成功後將C:\MinGW\msys\1.0\local\bin目錄下的i686-pc-linux-gnu-gdb.exe拷貝至C:\MinGW\bin目錄下
配置Linux下的Samba
配置Linux的Samba服務,以便Windows以可以訪問Linux的共用目錄,Eclipse建立工程時在共用目錄下建立,以達到Windows和Linux下代碼共用
編輯/etc/samba/smb.conf檔案,在最下方加入如下資訊
[Share]
comment = Linux c/c++程式共用目錄
path =/home/tuxingkai/Share
writable = yes
read only = no
browsable =yes
valid users = tuxingkai
guest ok =on
#service samba start 啟動服務
Windows上映射共用資料夾
使用Eclipse建立C++工程
開啟Eclipse,將工作目錄切換到Z:\Project下,建立C++工程
選擇當前的編譯方式為Gnu Make builder
編譯HelloWorld工程,eclipse 將會在Debug目錄下自動產生makefile檔案
在Linux下切換到HelloWorld/Debug目錄下,執行make clean;make編譯Linux下可執行檔
配置遠端偵錯
Linux服務端啟動gdbserver
在eclipse環境下設定“調試配置”
配置完成後,點擊Debug就可以遠端偵錯了