• Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上


    做嵌入式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的图形调试界面快速寻找答案才是我想要的。具体设置,请看下篇
  • 相关阅读:
    vue+elementUI表格排序事件
    移动端flex布局
    注册发送验证码提示信息
    jquery模拟生日日期下拉选择框
    标签模拟多选择框checkbox
    vue关于组件传值
    关于前端浏览器与服务器间的交互的对比与分析
    axios的基本使用
    Promise的基本使用
    Vue Cli2 文件路径别名
  • 原文地址:https://www.cnblogs.com/lidabo/p/4517021.html
Copyright © 2020-2023  润新知