如果環境沒有提供交叉編譯程式gdbserver ,
可以參考交叉編譯步驟
是我除錯的例子, 它在客戶端的執行命令如下.
./monitorall -qws -font wenquanyi1.target 端:
gdbserver --multi 192.168.1.101:1234啟動gdbserver, 監聽192.168.1.101:1234埠. 支援除錯多個程序
2.host 端:
. debug.sh把指令碼補充完全,如下:
2.1. debug.sh 的寫法:
#!/bin/bash
arm-linux-gnueabihf-gdb -x gdbinit
gdbinit 是gdb啟動後執行的指令碼檔案
2.2. gdbinit 的寫法
target extended-remote 192.168.1.136:1234
file monitorall
set args -qws -font wenquanyi
b main
r
-192.168.1.136:1234 —>目標機的ip位址和埠
target 的上的可執行檔名稱可以和host上的不一樣.
target 上可以執行去除符號的程式,而host上除錯帶debug資訊的程式,這樣可以大大減小 target上的程式大小, 這樣需要在host端設定一下target端的執行程式名稱. 用set remote exec-file
命令
完整指令碼如下例: gdbinit 檔案
target extended-remote 192.168.1.136:1234
file monitorall_debug
set remote exec-file monitorall
set args -qws -font wenquanyi
b main
r
gdb 的前端可以使用vim, 可參考vim做除錯前端
也可以使用emacs, 前端除錯環境建立請自行baidu.
也可以使用其它前端例如ddd之類的等.
注意對應的gdb除錯程式需要用update-alternatives調整正確.
gdb gdbserver除錯 方式1
目錄 一 gdb gdbserver總體介紹.1 四 gdb gdbserver nfs除錯流程.2 五 如何利用串列埠除錯.3 六 實戰除錯.3 七 linux下安裝gdbserver問題.5 root at91rm9200dk arm cp libthread db 1.0.so libthre...
gdb gdbserver方式進行ARM程式除錯
總體介紹 遠端除錯環境由宿主機gdb和目標機除錯stub共同構成,兩者通過串列埠或tcp連線。使用 gdb標準程序列協議協同工作,實現對目標機上的系統核心和上層應用的監控和除錯功能。除錯stub是嵌入式系統中的一段 作為宿主機gdb和目標機除錯程式間的乙個媒介而存在。就目前而言,嵌入式linux系統...
嵌入式gdb gdbserver除錯
在很多情況下,需要對應用程式進行除錯。在 linux 下除錯程式,常用的工具是 gdb。由於嵌入式單板的資源有限,一般不直接在目標機上執行 gdb 進行除錯,而是採取 gdb gdbserver 的方式。gdbserver 在目標機中執行,gdb 則在宿主機上執行。根檔案系 統中已經包含 gdbse...