首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Eclipse中,如何在远程调试时将可执行文件加载到基于远程ARM的嵌入式目标上

在Eclipse中,如何在远程调试时将可执行文件加载到基于远程ARM的嵌入式目标上
EN

Stack Overflow用户
提问于 2015-06-22 09:01:00
回答 1查看 1.4K关注 0票数 2

我在Eclipse中构建了一个"hello world“程序,并为基于ARM Cortex-A8的板提供了交叉开发插件。我为交叉开发定义了arm-none-linux-gnueabi编译器,当我用USB将输出二进制文件传输到板上时,它工作正常。我用ssh连接到板上并执行命令。

通过ssh,我运行以下命令:

gdbserver :2345 my调试器可执行 创建进程NeonDenemeler_debug;pid = 1692 监听2345端口

“my调试可执行文件”是在Eclipse中的我的主机pc (Ubuntu)上交叉编译的带有调试设置的可执行文件。我创建了一个调试配置,就像在http://linuxtortures.blogspot.com.tr/2012/06/cross-compiling-and-cross-debugging-c.html中描述的那样

总之,我创建了一个新的C/C++远程调试配置,将调试器设置为"arm-none-linux-gnueabi-gdb“,而不是"gdb”,并将连接设置设置为我的远程目标的ip和端口。当我启动调试配置时,一切正常,因为机上的gdbserver正在等待来自端口2345的数据包。

但是,我的问题是,当我更改源代码并再次编译时,是否有一种方法可以通过gdb将二进制文件从主机加载到的目标上?我无法找到诸如“加载可执行文件”等选项。我进行了更改和构建,但老的可执行文件总是在目标上运行。我的一个同伴成功地使用QT执行了相同的远程调试过程,这意味着“arm-none gdb”具有远程可执行文件加载功能。

EN

回答 1

Stack Overflow用户

发布于 2015-08-21 16:09:42

问题是,您正在使用“手动远程调试劳彻”配置(根据您发布的链接)。通过手动,它意味着应用程序被复制到目标并由用户启动。

您所要做的就是坚持图10的Debug配置,这是默认的配置(“自动远程调试Laucher")。Debug会话会将文件复制到目标,并自动启动调试器,就像在本地一样。为此,您只需确保首先在“远程系统资源管理器”透视图上创建一个可工作的远程连接,并将其分配给您的Debug配置(Connection下拉菜单)。

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30975865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档