linux(armv7/8)下gdb的安装及查看方法
1. gdb安裝
1.1 將gdb-10.1.tar.gz拷貝的/usr/local/目錄下
(可以拷貝到任何你愿意的Linux目錄下)或者進入 /usr/local中下載地址:http://ftp.gnu.org/gnu/gdb/
sudo wget http://ftp.gnu.org/gnu/gdb/gdb-10.1.tar.gz
1.2 解壓 gdb-10.1.tar.gz
sudo tar -zxvf gdb-10.1.tar.gz
1.3 編譯arm-linux-gdb ,這里可能需要添加權限
target指明編譯生成的GDB用于調試ARM-LINUX程序,prefix指明安裝目錄,注明調試平臺, 到目錄 gdb-10.1.tar.gz下
cd gdb-10.1.tar.gz
$sudo ./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
1.4 編譯安裝程序: (這個需要的時間比較長,耐心等待喲~)
$sudo make -j4
1.5 安裝gdb軟件,gdb-linux-arm
# make install -j4
1.6 把arm-linux-gdb加入環境變量
(:/usr/local/arm-gdb/bin)
#gedit /etc/environment
1.7 更新環境變量
#source /etc/environment
1.8 確認安裝成功
gdb -v
/usr/local/gdb-7.8.1$ gdb -v
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
可以在/usr/local/arm-gdb/bin目錄下看到如下三個可執行文件
arm-linux-gdb arm-linux-gdbtui arm-linux-run
查看
firefly@firefly:/usr/local/gdb-7.8.1$ ls /usr/local/arm-gdb/bin/
arm-linux-gdb arm-linux-run
2.0 支持交叉編譯
所以在使用交叉gdb時需要用交叉編譯鏈編譯出arm開發板上的執行文件,在PC機上運行能打開arm可執行文件的gdb工具,這就是 arm-linux-gdb
解壓gdb源碼編譯gdb的工具:
tar xvf gdb-7.8.1.tar.gz
mkdir arm-gdb
./configure --target=arm-cortex_a9-linux-gnueabi --prefix=/home/xxx/tools/gdb-7.8.1/arm-gdb/
make -j4
make install -j4
其中幾個參數如下:
--target 指定目標機交叉編譯器前綴,比如--target=arm-cortex_a9-linux-gnueabi ,交叉編譯鏈
--host 指定編譯后的運行主機,默認就是 x86_64-linux,如果要運行在PC上就不指定,他會選擇系統的編譯工具,如果是運行在arm上就用交叉編譯鏈
--prefix 指定要安裝的目錄
添加環境變量
vim ~./brashrc
export PATH=$PATH:/home/xxx/tools/gdb-7.8.1/arm-gdb/bin
或者 export 查看后之直接安裝
執行如下就說明安裝成功
arm-cortex_a9-linux-gnueabi-gdb -v
3. 編譯gdbserver
cd gdb/gdbserver
./configure --target=arm-cortex_a9-linux-gnueabi --host=arm-cortex_a9-linux-gnueabi
make CC=arm-cortex_a9-linux-gnueabi -j4
就會在當前路徑下生成 gdbserver,然后將gdbserver拷貝到arm開發板的/usr/bin/下
4.使用
得到上邊兩個必須的工具后,就看怎么使用
因為交叉編譯的gdb基于網絡通信來完成gdb調試,所以就需要分別在ARm端和PC端運行各自的工具來保持通信
首先在PC端編譯出ARM端使用的可執行二進制文件
arm-cortex_a9-linux-gnueabi-gcc main.c -g
然后把 a.out拷貝到ARM端
在ARM端執行:
gdbserver 192.168.9.101:1234 a.out //ARM的IP地址:自定義的一個端口
在PC端執行:
arm-cortex_a9-linux-gnueabi-gdb a.out
在PC端的gdb中連接ARM的gdbserver
(gdb) target remote 192.168.9.101:1234
你會看到ARM端出現
Remote debugging from host 192.168.9.68
這就說明gdb連接已經建立現在就可以使用gdb調試了
總結
以上是生活随笔為你收集整理的linux(armv7/8)下gdb的安装及查看方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: valgrind——hisi平台valg
- 下一篇: 人生格言个性签名霸气