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的安装及查看方法相关推荐

  1. linux看php安装路径,linux下查找php安装路径的方法是什么

    linux下查找php安装路径的方法是什么 发布时间:2020-09-01 16:06:19 来源:亿速云 阅读:72 作者:小新 这篇文章主要介绍了linux下查找php安装路径的方法是什么,具有一 ...

  2. Linux下rz/sz安装及使用方法_上传和下载文件

    2019独角兽企业重金招聘Python工程师标准>>> Linux下rz/sz安装及使用方法_上传和下载文件 转载于:https://my.oschina.net/276172622 ...

  3. windows 和 linux服务器环境下j2sdk 的安装和环境设置

    J2SDK 作为jsp系统配置中必不可少的组件,越来越多的得到应用.下来是我整理的以往工作时搜集的资料.使用时方便查询,希望对广大的工程师有帮助. windows服务器环境下 j2sdk 的安装和环境 ...

  4. Linux/Unix系统下nginx+php安装简明教程

    本文转载自Linux/Unix系统下nginx+php安装简明教程,请保留转载信息~ 一.安装nginx: 1. 安装pcre库,nginx的rewrite模板需用到pcre库: mkdir -p / ...

  5. Windows下nginx的安装及使用方法入门

    Windows下Nginx的安装及使用方法入门 nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 官网地址:http://nginx. ...

  6. 在linux的环境下 连接深澜校园网的方法

    在linux的环境下 连接深澜校园网的方法 在学校必须用用校园网客户端联网,而又没有能力写linux下的客户端的,而且无线网卡驱动不支持的情况下,想了一些招式来连接深澜校园网,最后终于成功了 < ...

  7. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  8. 最简单快捷的在win7下用pycharm安装Tensorflow的方法

    win7下用pycharm安装Tensorflow 最简单快捷的在win7下用pycharm安装Tensorflow的方法 这是一部关于在win7下用pycharm安装Tensorflow的血泪史!百 ...

  9. 在虚拟机linux上安装gdb,linux下gdb的安装和使用

    以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...

最新文章

  1. Dynamips和Vmware完成CCVP试验(4)
  2. Linux下的设备大体分为三类,微机原理知识点总结
  3. 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!
  4. hdu 2473(并查集+删除操作)
  5. 第三次学JAVA再学不好就吃翔(part110)--使用指定的码表读写字符
  6. 计算机应用基础模拟三答案,《计算机应用基础》模拟试卷三答案
  7. python的缩进意义_python缩进错误的原因是什么
  8. python watchdog休眠_python watchdog
  9. c语言返回二叉树的大小,C语言中计算二叉树的宽度的两种方式
  10. lvs + keepalived + nginx 实现高可用
  11. 64位centos下QQ无法输入中文只能输入英文
  12. MYSQL中5.7.10ROOT密码及创建用户
  13. 弹性盒怎么实现左边图片右边文字_【粉丝问题】如何用ps修改照片中的文字数字?...
  14. JAVA实现商品信息管理系统
  15. 属于计算机语言基本元素是,高级编程语言的共有的一些基本要素
  16. C# RabbitMQ: None of the specified endpoints were reachable
  17. 1.计算机指令系统,深入学习计算机指令系统唐书
  18. 这三种创业项目不要轻易涉足
  19. PPT播放显示备注技巧
  20. git上传文件遇到 错误error: failed to push some refs to

热门文章

  1. apache 2.4 配置php,Apache2.4 PHP 配置
  2. spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程
  3. python对文件的_python对文件的读写
  4. qchart折现图_Qt Charts 动态实时折线图绘制
  5. mysql运维工资_MySQL运维踩坑
  6. ps怎么制作流体_ps相框制作教程:ps怎么制作相框效果
  7. 台大李宏毅机器学习2021
  8. 奇葩错误:“假缩进”(python专属)
  9. 【TensorFlow2.0】(3) 索引与切片操作
  10. 数字图像处理——第四章 频率域滤波