Qt Creator远程调试

Yol*_*ggy 7 c++ qt qt-creator embedded-linux

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

通过SSH使用用户和密码登录,应用程序部署在设备上.然后,我可以使用步进等从Eclipse进行调试.(我也使用MentorGraphics交叉编译器arm-none-linux-gnueabi-2014.05)

我的问题是:我如何在Qt Creator中模仿相同的功能,因为我喜欢用Qt Creator编码而不是用Eclipse编码? 我知道一个简单的解决方法是在Qt Creator中编码,然后使用Eclipse进行调试,但我真的想使用Qt Creator进行调试.

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

Cla*_*dio 7

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

在嵌入式Linux设备上:

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

在Qt Creator上:

  • 进入工具>选项>设备,然后创建一个新设备,指定地址(即IP和端口号)和凭证(即根和密码).更多信息请点击此处.
  • 进入工具>选项>构建并运行>编译器并添加gcc 交叉编译器路径(此处提供更多信息)
  • 进入工具>选项>构建并运行>调试器,然后添加gdb cross -debugger路径(此处提供更多信息)
  • 最后一步,最后进入工具>选项>构建和运行>套件,并将编译器,调试器和设备链接到一个套件中,同时指定sysroot(即嵌入式Linux根文件系统的本地副本).
  • 将构建目标设置为Debug.
  • 在Qt项目中,检查是否已选择所有部署步骤(例如,将文件传输到远程设备)并添加任何所需的参数(例如-qws,对于Qt 4.x上的触摸屏)

一般来说,请看这里的指南.