除錯工具 嵌入式平台GDB除錯

2021-10-10 05:40:32 字數 1401 閱讀 5844

soc: ssc323

交叉編譯鏈:arm-buildroot-linux-uclibcgnueabihf

* 個人測試使用的版本是:gdb-9.1

gdb編譯

mkdir gdbbuild

cd gdbbuild

../gdb-9.1/configure --target=arm-buildroot-linux-uclibcgnueabihf --prefix=/home/***/ssc323/gdbbuild/install -v

make

make install

gdb server編譯

mkdir gdbserverbuild

cd gdbserverbuild

../gdb-9.1/gdb/gdbserver/configure --target=arm-buildroot-linux-uclibcgnueabihf --host=arm-buildroot-linux-uclibcgnueabihf --prefix=/home/***/ssc323/gdbbuild/install -v

make

make install

目標檔案

bin

include

libshare

* bin目錄下主要檔案

arm-buildroot-linux-uclibcgnueabihf-gdbserver

arm-buildroot-linux-uclibcgnueabihf-gdb

測試程式

裝置端

./***-gdbserver 192.168.22.100:2345 demo

./***-gdbserver *:2345 demo

* 192.168.22.100 是pc端ip位址,可以使用萬用字元*代替,表示接受所有ip的連線

* 2345 是gdbserver的服務埠

* demo 是測試程式

pc端

./***-gdb 

(gdb) target remote 192.168.22.101:2345

(gdb) c

* target remote 192.168.22.101:2345 表示連線遠端gdbserver伺服器,ip位址為192.168.22.101,埠號為2345

* c 表示執行程式

* 每執行一條命令,gdb都會輸出

python exception installation error: gdb.execute_unwinders function is missing:

嵌入式的gdb除錯

在開發過程中有很多問題如果用gdb進行除錯跟蹤會大大提高效率,但是我發現不少同事對於gdb除錯概念比較模糊,特別是跨平台的除錯,以至於放棄用gdb除錯而影響排除bug的效率。因此我這裡主要對跨平台除錯做乙個簡要的說明。我們對機頂盒上的軟體進行除錯主要有兩種方式,本地除錯和遠端除錯。遠端除錯還有乙個問...

嵌入式系統 GDB除錯

心得體會 gdb gdb全稱 gnu debugger,是gnu工程為gnu作業系統開發的偵錯程式。它可以用於除錯c c objective c pascal ada等語言編寫的程式。被除錯的程式可以跟gdb執行於同一臺電腦,也可執行於不同電腦。file 裝入想要除錯的可執行檔案 kill 終止正在...

除錯工具 gdb

gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...