搭建gdb gdbserver遠端除錯環境

2021-10-23 13:12:57 字數 1363 閱讀 5989

2,linux系統自帶gdb工具,可是無法用在arm除錯中,需要單獨編譯arm-linux-gdb。

tar zxvf gdb-9.1.tar.gz

cd gdb-9.1/

生產makefile

./configure   --prefix=$pwd/__install

–target:指定目標平台,–prefix:指定安裝路徑。

編譯make  和 make install

3,可能出現的問題

(1)gdb9.1 remote 『g』 packet reply is too long錯誤

修改gdb/remote.c檔案,遮蔽process_g_packet函式中的下列兩行:

if (buf_len > 2 * rsa->sizeof_g_packet)

error (_(「remote 『g』 packet reply is too long: %s」), rs->buf);

換成如下幾行:

(2)arm-linux-gdb在除錯的時候會載入目標系統的庫檔案,如果出錯時便無法除錯

通過指令[set solib-search-path+庫檔案路徑]來手動載入目標系統庫檔案

(gdb) set solib-search-path /home/alinx/boot/config/gcc-linaro/arm-linux-gnueabi/libc/lib/

4,除錯步驟

arm-linux-gnueabihf-gcc -g tcp_test.c -o transdata

宿主機ip:172.27.226.141

目標板ip:172.27.226.16

(1)目標板上執行gdbserver

(2)宿主機上執行arm-linux-gdb

arm-linux-gdb test

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...