我有一个应用程序在嵌入式Linux设备上运行。在Eclipse中,我可以使用
通过
我的问题是:如何在Qt Creator中模仿相同的功能,因为我更喜欢使用Qt Creator编码而不是使用Eclipse? 我知道一个简单的解决方法是在Qt Creator中编写代码,然后使用Eclipse进行调试,但我真的想使用Qt Creator进行调试。
eclipse-cdt-launch-remote
插件进行远程调试,其中我指定要运行的二进制文件以及将其放置在设备上的位置,并在运行应用程序之前导出一些环境变量。该应用程序是一个自定义Makefile构建的C++
应用程序,构建为ELF
文件。通过
SSH
使用用户名和密码登录,在设备上部署该应用程序。然后,我可以使用Eclipse进行调试,例如单步执行等。(我还使用了MentorGraphics交叉编译器arm-none-linux-gnueabi-2014.05)我的问题是:如何在Qt Creator中模仿相同的功能,因为我更喜欢使用Qt Creator编码而不是使用Eclipse? 我知道一个简单的解决方法是在Qt Creator中编写代码,然后使用Eclipse进行调试,但我真的想使用Qt Creator进行调试。
- 编辑:通过数小时的测试和阅读Qt Creator IDE的相关内容,我解决了这个问题。
- 导入我的Makefile项目。
- 然后我进入工具下的选项并添加了使用SSH的设备。
- 然后我添加了一个调试器,我使用gdb-multiarch,因为预构建的工具链二进制文件中提供的调试器不支持Python。
- 然后我添加了我的自定义工具链,将编译器路径指向工具链二进制文件g++。并将ABI设置为arm-linux-generic-elf-32bit。虽然我在调试期间实际上没有看到使用编译器设置。
- 我创建了一个新的kit,使用我的设备、调试器和编译器,并将设备类型设置为通用Linux设备。指向我在构建根文件系统时提取的sysroot。这些是我在kit中设置的唯一选项。
- 关闭选项菜单,进入项目,在其中添加我的新kit。
- 更改构建设置,为应用程序设置构建目录和构建步骤。
- 更改运行设置以使用一些自定义命令,例如将新构建的.elf应用程序移动到目标位置。然后我设置本地可执行文件和远程可执行文件的位置。远程可执行文件是我使用主机的自定义命令移动到目标位置的文件。
- 完成!现在我可以从Qt Creator对我的目标进行远程调试。