linux下安裝gdb除錯

2021-07-28 02:38:16 字數 1230 閱讀 7270

1、arm-linux-gcc

每一種硬體都有其對應的最好的編譯工具,並不是最新的最好。其實思想很簡單,就是在宿主機(pc)上編譯目標板子上執行的程式。所以工具鏈要用目標板的,這樣去編譯生成可執行的二進位制檔案。這裡有乙個工具製作工具鏈,雖然它可以自動下,還是先下好吧自己,那個速度,呵呵。

2、arm-linux-gdb

(2)在本機安裝arm-linux-gdb客戶端。

#tar jxvf gdb-7.2-tar-bz2

#cd gdb-7.2

#exprot $path:/opt/...  

(要在環境變數中新增交叉編譯工具鏈的路徑)

#./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v(--target配置gdb的目標平台,--prefix配置安裝路徑)

#make

#make install

這樣arm-linux-gdb的客戶端就安裝到了--prefix所配置安裝路徑裡。

(3)在目標板上安裝gdbserver。(其實就是在宿主機編好了複製過去)

#cd gdb-7.2/gdb/gdbserver

#./configure --target=arm-linux --host=arm-linux(--target=arm-linux表示目標平台,--host表示主機端執行的是arm-linux-gdb,不需要配置—prefix,因為gdbserver不在主機端安裝執行)

#make cc=/usr/local/arm-linux-gcc-3.4.1/bin/arm-linux-gcc

把生成的 gdbserver 拷貝進目標板,一般在/usr/bin

(4)arm-linux-gdb + gdbserver 除錯。

編譯要除錯的程式   #arm-linux-gcc -g hello.c -o hello

在客戶機執行   #arm-linux-gdb hello  (我都是在同乙個目錄裡進行的,即mount到目標板的那個目錄)

這樣就可以除錯了,結果會在目標版上顯示出,這裡用的minicom。輸入run是會可能提示the "remote" target does not support "run".try "help target" or "continue".那就用continue吧。

continue 之後可能報錯,在ubuntu下找不到嵌入式板子上的一些靜態庫,需要把缺的庫檔案導到ubuntu上才可以。

enjoy!

linux下的gdb除錯

如果編譯時,增加了引數 g,就會生成帶源 除錯符號的可執行檔案。增加的除錯符號一般會使檔案變的大一點。gcc o xx xx.c g 進一步地,就可以執行下面的指令啟動除錯工具進入除錯環境對程式進行除錯了。gdb xx 在除錯環境下,可以輸入下列指令來控制除錯。l n第乙個字母是小寫的l,列出第n行...

linux下的gdb除錯

在看gdb除錯多執行緒多程序之前,我們先來回顧一下gdb除錯的一些基本命令 首先vim乙個檔案,然後進行編譯用命令 gcc o test 所要生成的檔案 test1 你剛剛寫的檔案 g 檢查沒有問題後,再gdb test對你寫的檔案進行除錯。進入gdb後,有這些命令可以用 b 行號 表示在哪一行打了...

Linux下GDB除錯簡介

gdb gnu debugger 是linux下的乙個除錯工具,具體的功能有 設定斷點,使得 在制定行暫停執行 單步除錯程式 檢視程式中的變數值的變化 動態改變程式的執行環境 分析崩潰程式產生的core檔案 假設我們有原始檔hello.c,要使用gdb進行除錯,在程式編譯時就必須使用 g或者 gdb...