基于windows端QtCreator5.14的GDB套件实现linux远程调试

目录

windows端的qtcrerator

套件总配置

设备配置

(1).调试设备设置

(2).ssh设置

(3)运行参数设置

(4)windows端&linux端路径映射

(5).启动调试前先部署(拓展)

(6).解决断点老是先命中反汇编地址的问题

调试器勾选建议

linux端配置

搭建环境时遇到的问题和排查过程。感兴趣可以看。

1)..ssh客户端的配置问题。

2).断点无法正常跑进去

3).板子程序能正常运行,但是启动调试就报库找不到

4).断点老是先停在反汇编地址中,点F10继续运行后才命中代码行中的目标断点

5).运行Gdb后各种环境变量出问题


环境说明:Windows 负责编辑和配置(IDE),虚拟机负责编译(Toolchain),实体板子负责运行(Target)。

本帖目前适配手动编译烧录 + Qt Creator 远程调试的场景。

首先明确我们要做的事情。

1.保证板子与PC能通过SSH连接(需要提前配好SSH,这是前提)

2.把gdbserver复制到板子里,并把gdbserver加入到执行文件里。

3.配置windows端qtcreator,让他能连接先前配置好的linux设备。

准备工作:

完整配置内容:

windows端的qtcrerator

套件总配置

设备配置

(1).调试设备设置

(2).ssh设置

(3)运行参数设置

附:%{CurrentProject:Path}是值当前.pro路径。这个值建议先用绝对路径,防止qtcreator本身bug导致%{CurrentProject:Path}解析失败

(4)windows端&linux端路径映射

(5).启动调试前先部署(拓展)

如果懒得手动把文件部署到板子上了,直接F5一键部署。

依然是工具-选项打开设置界面,勾选运行前先部署。

然后检查

注意事项:

files to deploy可能无法编辑,如果无法编辑,查看工程文件有没有类似语句。这是qt的防冲突机制,部署路径会以.pro为优先。

target.path 为板子上的进程路径,这一步设置好target ,INSTALLS += target 是 qmake 的安装规则,它告诉 Qt Creator:这个项目的可执行文件(即 TARGET 指定的 tmu)应该被安装到 target.path 指定的远程目录。至此,目标路径设置完成。

DESTDIR = $$PWD 是 qmake 中一个非常实用的配置,它的作用是将生成的可执行文件(或库)直接输出到 .pro 文件所在的目录。这里是把文件生成到了.pro路径下。至此,本地可执行文件路径设置完成。

(6).解决断点老是先命中反汇编地址的问题

依然是工具-选项-调试器-GDB 中的额外启动命令窗格添加:

set sysroot / set auto-load no set stop-on-solib-events 0 set breakpoint a