參考網址1:http://www.cnblogs.com/pengdonglin137/p/4737045.html#_labelTop
參考網址2:https://blog.csdn.net/wendaotaoa/article/details/8152864
一、利用GDB進行遠程調試,首先需要明確以下幾點:
1、調試用的GDB必須是交叉編譯產生的GDB;
2、調試的程序必須是交叉編譯且帶 “-g” 選項的可執行程序。
3、在宿主機和目標開發板上調試的必須是同一個可執行程序。
4、基於 3 ,我們必須要建立一個宿主機和開發板的NFS共享目錄,以實現調試調試同一可執行程序。(有待確認,也可以把可執行程序拷貝到目標板)
5、目標開發板的gdbserver和宿主機用的GDB版本必須相同,最好是同一源文件編譯同時產生的。
6、在開發板上必須開通遠程調試所需要的端口,否則遠程調試機無法通過端口遠程連接到開發板上。
二、安裝gdbserver
1、准備材料
1)操作系統:ubuntu16.04.1(64位)
2)交叉編譯器:gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11)
3)gdb源碼:gdb-7.8.tar.gz(gdb下載地址)
2、編譯過程
# cd gdb-6.7.1/gdb/gdbserver/ #./configure --host=arm-linux-gnueabihf --prefix=$DEV_ROOT/gdb_7.8/install #make #make install
3、編譯錯誤
1)錯誤1:
configure: error: no termcap library found Makefile:8639: recipe for target 'configure-gdb' failed make[1]: *** [configure-gdb] Error 1 make[1]: Leaving directory '/home/cjb/MYD-Y6ULX-devel/gdb-7.8/gdb-7.8' Makefile:832: recipe for target 'all' failed make: *** [all] Error 2
解決:
a, termcap庫問題,參考網址:(點這里)
This example shows how to succeed when you find a target-native termcap library is missing (cross building is somewhat different here -- use ./configure --help when in doubt): cd ~/work/cross/gdb/downloads wget ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz cd .. tar xvzf downloads/termcap-1.3.1.tar.gz mkdir -p ~/work/cross/gdb/build/termcap cd ~/work/cross/gdb/build/termcap export CC=powerpc-7450-linux-gnu-gcc export RANLIB=powerpc-7450-linux-gnu-ranlib ../../termcap-1.3.1/configure --host=powerpc-7450-linux-gnu --prefix=$HOME/work/cross/termcap make make install
2)錯誤2: