qt creator 14+调试qt 5.15报“launching debugger”红色错误,根本原因是gdb版本不兼容(需≥11.2),而非未安装调试器;实操应克隆套件并手动指定gdb11.2+,或降级使用qt creator 13.0.2。

“Launching Debugger” 红色报错,根本进不了调试界面
这通常不是调试器没装,而是 Qt Creator 14+ 和 Qt 5.15 套件之间存在调试引擎不兼容。Qt Creator 14 默认尝试用 GDB 启动 Qt 5.15 构建的二进制,但 GDB 版本(比如系统自带的 gdb 10.x)可能无法正确解析 Qt 5.15 的符号表或 C++ ABI,导致启动失败并显示 Launching Debugger 红字。
实操建议:
- 优先克隆当前 Qt 5.15 套件,在“构建套件”设置里把调试器手动改成
gdb11.2或更高版本(需提前下载安装) - 若不想折腾 GDB 版本,直接降级使用
Qt Creator 13.0.2(官方已验证兼容 Qt 5.15.2) - 不要依赖 Qt Creator 自动检测——即使套件里显示“Debugger: gdb”,也可能是旧版本,务必点开确认路径和版本号
断点灰显、点击无效,程序跑完也不停
这不是 Qt Creator 坏了,而是调试符号根本没加载进来。常见于 Debug 模式被悄悄覆盖,或者影子构建目录残留旧目标文件。
实操建议:
- 检查左下角 Kit 下拉框,确认选中的是带
Debug字样的套件(例如Desktop Qt 5.15.2 MSVC2019 64-bit Debug),不是 Release 或 “Auto-detected” 类型 - 打开项目“构建设置”,确认
Build steps > qmake > Additional arguments中没有CONFIG+=release;CMake 项目则检查CMAKE_BUILD_TYPE是否设为Debug - 删掉整个构建目录(不是只 Clean),重新
qmake或cmake+ 构建——尤其当你从 Git 切换分支后,旧.o文件会骗过调试器
Windows 上提示 “Unable to create a debugging engine”
本质是 CDB 调试器缺失或路径错配。Qt Creator 在 Windows 上对 MSVC 工具链默认依赖 CDB,而不是 GDB;但 Visual Studio 安装时经常漏装调试工具组件,或者 PATH 没生效。
实操建议:
- 用 Visual Studio Installer 修改现有安装,勾选 “
Debugging Tools for Windows”,不要只装 “C++ desktop development” - 在 Qt Creator 中进入
Tools > Options > Kits > Debuggers,点击Add > cdb,路径必须指向真实存在的cdb.exe(典型路径:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe) - 检查系统环境变量
PATH是否包含该路径——Qt Creator 启动时只读取一次 PATH,改完要重启 IDE - 如果用了 Python 扩展(如 QString 显示器),尝试在
Debugger > CDB > Use Python dumper取消勾选,某些 Qt + CDB 组合下它会导致初始化失败
Ubuntu/Debian 上报 “Ptrace: Operation not permitted”
Linux 内核从 Ubuntu 11.04 开始限制非 root 进程 attach 其他进程,默认关闭 ptrace 权限。Qt Creator 的调试器需要 attach 目标进程,因此被内核拦截。
实操建议:
- 临时生效(重启失效):
sudo sysctl -w kernel.yama.ptrace_scope=0 - 永久生效:编辑
/etc/sysctl.d/10-ptrace.conf,加入一行kernel.yama.ptrace_scope = 0,然后执行sudo sysctl --system - 注意:不要用
echo 0 > /proc/sys/kernel/yama/ptrace_scope这类重定向命令——普通用户无权限写入,且 sudo echo 不生效
QString、QVector 等类型依赖调试器的 Python 扩展来格式化显示,而这个扩展本身又依赖 Qt Creator 内置 Python 解释器与 Qt 版本的 ABI 兼容性——这点最容易被忽略,也最难排查。











