首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt远程调试

Qt远程调试
EN

Stack Overflow用户
提问于 2016-04-04 09:22:24
回答 1查看 10.1K关注 0票数 9

我有一个在嵌入式Linux设备上运行的应用程序。在Eclipse中,我可以使用eclipse-cdt-launch-remote插件运行远程调试,在该插件中,我指向要运行的二进制文件,并在运行应用程序之前将其与要导出的一些环境变量放在设备上。该应用程序是一个具有自定义Makefile的C++应用程序,用于将应用程序构建为ELF文件。

应用程序通过SSH部署在设备上,使用带有用户和密码的登录。然后,我可以使用so等从Eclipse进行调试。(我还使用了MentorGraphics交叉编译器来实现arm-none-linux-gnueabi-2014.05)

我的问题是:如何在question中模拟相同的功能,因为我更喜欢用question编写代码,而不是使用Eclipse编写代码--我知道一个简单的修复方法是在question中编码,然后使用进行调试,但我真的很想使用question进行调试。

  • 编辑:通过在上进行几个小时的测试和阅读来解决这个问题。
    1. 导入了我的项目,这是一个Makefile项目。
    2. 然后,我开始使用工具下的选项,并添加了使用SSH的设备。
    3. 在此之后,我添加了一个调试器,因为预构建的工具链二进制文件中提供的工具链二进制文件不支持python,所以我使用了gdb-multiarch。
    4. 然后,我添加了自定义工具链,将编译器路径指向工具链二进制g++。并将ABI设置为arm-linux-泛型-精灵-32位。虽然我并没有实际看到在调试期间使用的编译器设置。
    5. 我用我的设备Debugger和编译器创建了一个新的工具包。并将设备类型设置为通用Linux设备。指向我在为文件系统使用buildroot时提取的sysroot。这是我在工具箱里唯一的选择。
    6. 关闭了选项菜单,进入了我添加新工具包的项目。
    7. 更改生成设置,并设置应用程序的生成目录和生成步骤。
    8. 更改运行设置以使用一些自定义命令,例如将新建的.elf应用程序移动到目标。然后设置本地可执行文件的位置和远程可执行文件的位置。远程可执行文件是我使用来自主机的自定义命令移动到目标的文件。
    9. 瞧!我现在可以从Qt对我的目标运行远程调试。

EN

回答 1

Stack Overflow用户

发布于 2016-04-04 10:37:01

Qt内置支持远程设备上的自动部署。

在嵌入式Linux设备上:

  • 为root用户创建登录密码
  • 安装openssh-server和gdb-server包。

关于Qt创造者:

  • 输入Tools > Options > device 并创建一个新设备,指定地址(即IP和端口号)和凭据(即根和密码)。进一步的信息,可用的这里
  • 输入Tools > Options > Build & Run >编译器并添加gcc交叉编译器路径(可获得更多信息这里)
  • 输入Tools > Options > Build & Run >debugger并添加gdb交叉调试器路径(可获得更多信息这里)
  • 作为最后一步,最后将Tools > Options > Build & Run > Kit 和链接编译器、调试器和设备输入到一个单独的工具包中,并指定sysroot (即嵌入式Linux根文件系统的本地副本)。
  • 将构建目标设置为Debug。
  • 在Qt项目中,检查是否选择了所有部署步骤(例如,将文件传输到远程设备)并添加任何所需的参数(例如,用于QT4.x上的触摸屏的-qws )。

总的来说,请看一下指南这里

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

https://stackoverflow.com/questions/36398798

复制
相关文章

相似问题

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