GDB调试器无法在Qt Creator中显示Qt容器的正确值
Qt容器调试无法显示值的解决方法
问题根源
Qt容器(如QList、QVector)的调试可视化依赖Qt官方提供的GDB美化打印脚本,当前环境未正确加载该脚本,或缺少对应调试资源。
解决步骤
- 定位Qt调试脚本:找到Qt 5.14.2安装目录下的调试脚本,典型路径为
Qt安装路径/5.14.2/gcc_64/share/qtcreator/debugger/qtcreator-gdb.py或Qt安装路径/5.14.2/gcc_64/lib/qt5printers.py。 - 配置GDB自动加载脚本:
- 打开用户主目录的
.gdbinit文件(无则新建),添加:
替换路径为你找到的脚本位置。source /实际路径/qtcreator-gdb.py - 启动GDB后输入
info pretty-printer,若能看到Qt容器相关的打印项,说明加载成功。
- 打开用户主目录的
- Qt Creator专属配置:进入
工具 > 选项 > 调试器 > GDB,在「额外启动命令」中添加上述source命令,确保调试时自动加载脚本。 - CLion专属配置:进入
File > Settings > Build, Execution, Deployment > Debugger > GDB,在「Startup commands」中添加source /实际路径/qtcreator-gdb.py,保存后重启调试。 - 安装Qt调试包:如果是Deepin系统预装的Qt,执行
sudo apt install qtbase5-dbg qt5-default-dbg安装对应调试信息包;若为自行编译的Qt,编译时需添加-debug或-release-with-debug-info参数。 - 临时查看方法:调试时可手动输入命令查看容器内容:
- QList:
print *a.d - QVector:
print *c.d
- QList:
内容的提问来源于stack exchange,提问作者Jackey
相关产品推荐
相关产品推荐

