本文目的:最近需要linux遠程調試c/c++程序,所以在網上搜了很多教程.但到最后大多不如人意,說到底網上文章一大抄,着實可恨!比如我搜"eclipse 遠程調試 linux" 得到的確實 "在Windows上用Eclipse遠程調試Linux下的C++程序 實戰windows7 下eclipse 遠程調試 linux Windows 下使用Eclipse CDT 遠程調試Linux C/C++ 程序",我就擦了,這妹的什么跟什么啊!沒辦法只好自己動手並根據網上總結一套可用的方法了.
本文平台:本文所講的是linux平台,當然看完本文后windows平台的也是一樣的原理,基本上一通百通了.
一:
linux遠程調試原理( server+client):
1.server:gdbserver
命令: gdbserver ip:port appname(進程名)
通常用下面這個命令:
gdbserver ip:port --attach 22552(進程id)
2.client:gdb
命令: 終端輸入gdb進去gdb 然后輸入 target remote ip:port
3.截圖如下:
server:

client連接上后:

client:
二:linux eclipse下的遠程調試(當然前提是你所要調試的服務器 gdbserver已經開啟了):
1.打開 debug configurations
2.創建一個自定義的 debug設置
3.設置 debug的種類
這里有三種種類 我們選擇 gdb dsf manual remote debugging launcher (就是調試的時候 我們手動設置gdb參數進行調試)
其它兩種的區別就由讀者自己試驗了,這里並不說明.
設置gdb ip port:
運行調試 選中自己剛剛定義的種類:
調試結果如下:
結束語:調試的時候最好保證gdbserver 和gdb 的版本一致否則可能出現很多無解的問題.注意自己linux服務器的防火牆是否開放了該端口.其實很簡單就是server + client 的調試方式.如讀者有疑問可在評論中發表.歡迎拍磚!
