交叉編譯gdb除錯

2021-09-14 03:46:24 字數 1193 閱讀 1657

編譯環境:ubuntu16.04 64位

交叉編譯工具:arm-hisiv500-linux-gcc

在開發過程中總會遇到段錯誤之類的問題,交叉編譯gdb方便在開發板上除錯,這裡記錄一下編譯流程。

2. 開發板上gdb除錯流程

cd ~/work

mkdir gdb.install

tar zxf termcap-1.3.1.tar.gz

cd termcap-1.3.1/

./configure --host=arm-hisiv500-linux- --prefix=/home/jerry/work/gdb.install

make cc=arm-hisiv500-linux-gcc

cp libtermcap.a ../gdb.install

生成的libtermcap.a就是所依賴的庫。

cd ../gdb-7.8/

./configure --host=arm-hisiv500-linux cc=arm-hisiv500-linux-gcc --prefix=/home/jerry/work/gdb.install ldflags="-l/home/jerry/work/gdb.install/ -ltermcap -lm"

make

make install

生成的gdb位於…/gdb.install/bin目錄。

開發板執行命令ulimit -c,為0表示關閉;

執行命令ulimit -c unlimited開啟core檔案輸出,並不限制檔案大小。

如果想開機執行,修改/etc/profile,新增如下命令:

ulimit -s -c unlimited > /dev/null 2>&1
core檔名預設是core,建議修改如下:

echo "/tmp/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
編譯可執行程式時加入-g選項,如gcc -g core_test.c -o core_test

將之前編譯生成的gdb拷貝到開發板

gdb [exec file] [core file] 然後執行bt看堆疊資訊

gdb除錯,交叉編譯除錯

root localhost pwd root root localhost cat gdbinit.bak set solib absolute prefix opt embedsky 4.3.3 arm none linux gnueabi set solib search path opt e...

交叉編譯GDB

gdb是一款強大的除錯工具,不多介紹了 解壓檔案tar xf gdb 7.9.tar.gz配置編譯 編寫編譯指令碼 bin bash configure cc opt mipsel gcc472 glibc216 mips32 bin mipsel linux gcc enable static c...

交叉編譯gdb與gdbserver

一 編譯gdb 543 cd home rock pkg gdb 7.3.1 544 mkdir build 553 configure host i686 pc linux gnu target arm linux prefix home rock pkg gdb 7.3.1 build 554 ...