zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

调试eclipse程序ARM 远程 进行 配合
2023-09-27 14:29:31 时间

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

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

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

编译gdb
在GNU官网下载最新版GDB ,我这里下载的是7.2版本gdb-7.2.tar.gz
$ make install

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

编译gdbserver
$ cd gdb/gdbserver

$ ./configure --host=arm-linux

$ make -j2

这里没有定义安装目录,因为gdbserver是运行在嵌入式设备端的。

make之后,gdbserver程序就在当前目录下,拷贝到tftpd目录后在设备端通过tftp命令下载
调试程序
通过加-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端调试

gdb指令可真多,我不是牛人,自认没那技术通过指令就能调试出想要的结果,结合eclipse的图形调试界面快速寻找答案才是我想要的。具体设置,请看下篇
Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下 上一篇中,介绍了如何编译、运行arm-linux-gdb 和 gdbserver,这一篇中介绍怎样结合Eclipse-cdt进行图形化编译调试 首先当然是使用CDT创建项目并添加源文件。 在左侧 Project Explorer 的项目名上点右键- Properties 进入项目属性设置