做嵌入式Linux开发也不用再羡慕windows程序员VS集成开发环境的强大,我们同样能够搭建出给力的IDE。

今天在这里记录一下我使用Eclipse-cdt,gdb,gdbserver搭建远程arm调试的过程。

首先介绍下,嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端可以理解为本机,Target端为嵌入式设备。
Host端使用arm-linux-gdb,Target 端使用gdbserver。
调试时,应用程序在嵌入式目标系统上通过运行,而gdb调试在Host端。

    1. 编译gdb
      在GNU官网下载最新版GDB ,我这里下载的是7.2版本gdb-7.2.tar.gz
$ tar xvf gdb-7.2.tar.gz
$ cd gdb-7.2
$ ./configure --target=arm-linux --prefix=/home/aliang/arm-gdb
$ make -j2
$ make install

可以通过export命令将/home/aliang/arm-gdb/bin目录加入PATH,使arm-linux-gdb可以直接使用,也可以直接拷贝到/usr/bin 或arm-linux-gcc同目录

    1. 编译gdbserver
$ cd gdb/gdbserver
$ ./configure --host=arm-linux
$ make -j2
这里没有定义安装目录,因为gdbserver是运行在嵌入式设备端的。
make之后,gdbserver程序就在当前目录下,拷贝到tftpd目录后在设备端通过tftp命令下载
  1. 调试程序
    通过加-g参数 交叉编译带调试信息的程序

    $ arm-linux-gcc -g ipcam.c -o ipcam

    拷贝到设备端后,使用gdbserver打开程序

    $gdbserver <host-ip>:10000 ipcam

    主机使用arm-linux-gdb调试程序

    $ arm-linux-gdb ipcam

    输入gdb远程调试指令

    (gdb) target remote <target-ip>:10000

    这时,设备端打印

    Remote debugging from host 192.168.1.102

    说明远程调试已经建立起,可以开始在host端调试

  2. gdb指令可真多,我不是牛人,自认没那技术通过指令就能调试出想要的结果,结合eclipse的图形调试界面快速寻找答案才是我想要的。具体设置,请看下篇

最新文章

  1. 【前端】Web前端学习笔记【2】
  2. 关于mongoldb 启动时显示 add already in use
  3. Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
  4. Slideout.js – 触摸滑出式 Web App 导航菜单
  5. minix2.0内核组织结构与公用头文件说明
  6. Minimum Height Trees
  7. sqlite报错OutOfMemory
  8. Stored Procedures with Multiple Result Sets
  9. MFC界面更新实现方法
  10. ubuntu配置android开发环境和编译源码遇到的一些问题
  11. PowerShell 管道和对象成员
  12. asp.net textbox keyup事件触发后台的textchange事件
  13. C++知识体系
  14. LindDotNetCore~入门基础
  15. UOJ #109「APIO2013」TASKSAUTHOR
  16. 20145236《网络对抗》Exp2 后门原理与实践
  17. (转)IBM mq基本使用
  18. 深入理解java虚拟机---Class文件(二十)
  19. Grunt 插件发布过程;
  20. iOS : 用 InterfaceBuilder 开始一个项目

热门文章

  1. 【转】Math.Atan2 方法
  2. android Handler及消息处理机制的简单介绍
  3. android开发学习 几个有用的学习资料~
  4. Java集合之List
  5. JavaScript 获取CSS媒体查询信息
  6. WebView使用
  7. 全响应跨设备的Zoomla!逐浪CMS2 x2.0正式公布
  8. JMeter 参数化、检查点、集合点
  9. 安装centos6.3
  10. 用SNMP协议实现系统信息监控--CentOS