QtCreator配合gdbserver调试开发板QT程序

本文详细介绍了如何使用QtCreator配合gdbserver进行远程调试的过程,包括配置QtCreator的kit,解决QT版本不匹配的问题,以及在目标设备上运行gdbserver并连接到PC端的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 这篇主要是记录一下QtCreator配合gdbserver调试板子上面的程序写的,虽然以前也搞过这个套路,但是没写下来这次既然又搞了一次,那就写写吧,把碰到的问题也顺道写写。
  2. 准备
    编译好的Qt环境(不会看QT编译
    linux PC环境一个 我用的是ubuntu,QtCreator装好
    gdbserver编译好的一份。
  3. 开工
    先配置QtCreator的kit,新增一个kit,然后把各个选项填入。kit配置

编译器和调试器都需要进行配置
编译器
调试器
QT Version
QT version这里碰到了一个问题。
当前使用的QT不是在这个环境下编译的,是在服务器上面编译好,然后下载下来的,所以一些变量肯定不一样,所以会有问题,在这里browse选择好qmake之后,我碰到了一个找不到mkspecs的问题:
cannot read qt/bin/mkspecs/linux-arm-gnueabi-g++/qmake.conf
大概是这么个意思。
看了一下这个还是挺奇怪的,路径里面多了一个bin,应该是qt/mkspecs才对,后来找到的解决方案是加入一个qt.conf

[Paths]
Prefix=..

以上是内容。
找到了之后就比较好搞了,只要把各个选项都设置正确就好了,不要出现红色的圆形错误,黄色的warning好像没有什么问题。

这一个阶段只要保证编译没有问题就可以了,可以你的环境下通过creator编译出能在板子上运行的可执行文件。

然后就是在板子上的活了,比较简单
确保板子和电脑在同一个网段可以互相ping通。然后把gdbserver拷贝到板子上,
然后运行

gdbserver 192.168.1.106:1234 ./run

在这里会阻塞住,一直等待client也是就是电脑的连接。

电脑上依次选择 debug->start debuging->attaching to running debug server
设置

电脑是客户端所以要填写server的IP和端口,点击OK就可以正常运行。

gdbserver 192.168.1.106:1234 ./run
Process ./runcreated; pid = 459
Listening on port 1234
Remote debugging from host 192.168.1.102

就可以开始愉快的调试了

个人的意见:其实这种调试方法比较适合带交互,交互比较多,比较快的情况,如果只是调试一下界面,其实直接运行加打印反而更方便。当然有bug查不出来,换一种方法查也是比较好的。

### 使用 Qt Creator 进行远程开发板开发 #### 配置开发环境 为了使 Qt Creator 能够支持远程开发板的开发工作,需确保所选工具满足项目需求并能良好适配目标平台[^1]。 对于嵌入式 ARM 开发板而言,设置 GDB 的远程调试功能至关重要。这涉及到本地机器上的 GDB 安装与配置,以及针对开发板端的 `gdbserver` 构建过程: - **安装 GDB** 在主机上指定路径完成 GDB 的安装操作,例如通过命令 `make install prefix=/home/user/QtEnv/gdb-7.7/` 来设定自定义前缀作为安装位置[^2]。 - **构建开发板调试器 (`gdbserver`)** 清除旧版本源码文件夹后重新解压缩新副本,在进入 `gdb/gdbserver` 文件夹之后执行如下指令来准备编译环境: ```bash ./configure --target=arm-linux --host=arm-linux ``` 接着利用交叉编译链中的 GCC 工具进行实际编译作业: ```bash make CC=arm-linux-gcc ``` 成功完成后会得到适用于目标硬件架构的 `gdbserver` 可执行文件,将其传输至开发板即可用于后续连接测试。 #### 实现远程部署和调试流程 当上述准备工作就绪以后,则可以着手于应用程序向远端设备的实际推送及其启动后的在线调试环节: - 将必要的共享库复制到目的机相应目录之下; - 打开 Qt Creator 中项目的属性页面找到“Run Settings”,在此处新增名为 `LD_LIBRARY_PATH` 的系统级环境变量以便加载外部动态链接资源[^3]。 ```python def setup_remote_debugging(): """ 函数模拟了为实现远程调试所做的基本设置动作, 包括但不限于调整IDE内部选项卡里的参数项。 """ pass ``` 至此,整个基于 Qt Creator 平台面向特定型号单片机或其他类型计算节点开展软件工程实践所需掌握的关键知识点已被覆盖完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值