且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-14 19:57:52

上一篇中,介绍了如何编译、运行arm-linux-gdb 和 gdbserver,这一篇中介绍怎样结合Eclipse-cdt进行图形化编译调试

首先当然是使用CDT创建项目并添加源文件。

  1. 在左侧 Project Explorer 的项目名上点右键->Properties 进入项目属性设置
  2. 选择 C/C++ Build->Settings 在Tool Settings中,将Toolchain修改为arm版本
    GCC C Compiler :arm-linux-gcc
    GCC C Linker : arm-linux-gcc
    GCC C Assembler :arm-linux-ar

    其他选项默认就好,有需要自己修改

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

  3. [可选]Build Steps 这里可以填些编译步骤,我这里希望编译后自动将程序拷贝到tftpd的目录以方便arm端直接下载
    那么就在Post-build steps -> Command: 中填写

     

    cp ipcam /tftpboot

编译部分修改完,接下来是调试部分

  1. 选中项目->菜单栏 ”Run“->Debug Configurations…
  2. 双击C/C++ Applecation 新建一个配置,Eclipse会根据当前选择的项目初始化大部分配置,这里只需修改Debugger配置页
  3. 选择进入Debugger配置页
    Debugger:
    选择gdbserver Debugger
    Debugger Options: 
    GDB Debugger 这项,如果上一篇中编译出的的arm-linux-gdb拷贝到PATH的目录,或者将arm-linux-gdb的目录加入到PATH,那么这里直接填arm-linux-gdb就可以了,否则浏览目录选择带路径的命令Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下Shared Libraries这项,可以添加库路径,比如调试过程中要步入外部函数,就必须在这里给出带调试信息的库文件路径,否则会找不到该函数的定义
    Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
    Connection这项是关键:Type选 TCP,Host name or IP address填arm端的ip,端口号默认即可,这个端口号将在arm端运行gdbserver时填写
    Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
  4. 所有配置完成,点Apple 再关掉配置页

开始调试

    1. 在arm端运行程序
      # tftp -g -r ipcam 192.168.1.100
      # gdbserver 192.168.1.100:10000 ipcam

      192.168.1.100是主机ip 10000是之前设定的端口

    2. 在Eclipse开始调试
      Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下