嵌入式Linux-Eclipse下gdb调试arm开发板

eclipse版本:2018-09(4.9.0)
gdb版本:7.8.1

Eclipse下调试的前提是主机和开发板搭建好了gdb调试环境,搭建环境点击这里。

一、创建C工程

File->New->Project 创建工程,工程类型选择 Executeable Empty Project,工具链选择Cross GCC
嵌入式Linux-Eclipse下gdb调试arm开发板_第1张图片
嵌入式Linux-Eclipse下gdb调试arm开发板_第2张图片
接下来next->next,编译工具的前缀改为arm-linux-,然后填写工具链的完整路径。
嵌入式Linux-Eclipse下gdb调试arm开发板_第3张图片
新建源文件main.c,写一个打印的测试程序,开始编译,从输出信息可以看到成功生成了目标文件,这个目标文件可以直接在开发板运行。
嵌入式Linux-Eclipse下gdb调试arm开发板_第4张图片

二、配置GDB

2.1 配置服务器端gdb

来到调试配置页面,右击C/C++ Remote Application新建一个远程调试,Connection选项选择远程主机,然后点击New->Create a new connection->SSH->填写开发板IP地址,调试端口有一个默认端口,可以不用设置。设置完远程后,填写开发板可执行文件的路径,要求开发板的可执行文件和主机本地的文件相同。我使用的是nfs远程挂载文件夹的方式,这样就不用复制来复制去了。

嵌入式Linux-Eclipse下gdb调试arm开发板_第5张图片 嵌入式Linux-Eclipse下gdb调试arm开发板_第6张图片

2.2 配置本地gdb

本地的GDB调试工具更改为arm-linux-gdb就可以了。
嵌入式Linux-Eclipse下gdb调试arm开发板_第7张图片

三、开启GDB调试

点击绿虫子旁边的倒三角,选择pro1 Debug即可开启调试,eclipse下gdb调试比较方便的是开发板的打印信息都会在eclipse的控制台上显示,同时将continue、next、step之类的gdb调试指令转换为了GUI界面来操作,大大提高调试效率。
嵌入式Linux-Eclipse下gdb调试arm开发板_第8张图片

遇到的问题

1.ubuntu系统中的eclipse工程最好和开发板的工程一致。当我把eclipse生成的可执行文件单独提出来到板子调试时,eclipse总是提示Launching xxx has encountered a problem. Errors occurred during the build.,具体原因不详,使用完整工程就没什么问题。
2.将ubuntu中的文件夹使用nfs方式挂载到开发板中,在gdb调试时提示mount: mounting 192.168.40.179:/xxx on /xxx failed: Device or resource busy并且无法调试,在我更改了gdb调试端口后就可以调试了。
嵌入式Linux-Eclipse下gdb调试arm开发板_第9张图片
3.提示Could not start gdbserver on the remote host.时,在开发板终端中执行ps得到调试相关进程,使用kill命令终止,再次执行gdb调试即可。
嵌入式Linux-Eclipse下gdb调试arm开发板_第10张图片

你可能感兴趣的:(Linux嵌入式开发)