qt creator调试器不可用的主因是kit中未配置或未正确安装对应调试器:msvc需cdb(路径如windows kits\10\debuggers\x64\cdb.exe),mingw需匹配abi的gdb;须在tools > options > kits > debuggers中手动添加并确认启用,且run settings中勾选“run in terminal”以确保qdebug输出。

Qt Creator 调试器不能用?不是插件没装,也不是 Qt 版本不匹配——**绝大多数情况,是 Kit 里缺调试器路径,或者调试器本身根本没装对**。尤其在 Windows 上切 MSVC 后,CDB 没配好,gdb 又不兼容,控制台连 qDebug() 都不输出,问题就卡在这一步。
Kit 里找不到调试器?先确认它真被 Qt Creator 看见了
Qt Creator 不自带调试器,它只负责调用外部工具。所以第一步不是改项目设置,而是去 Tools > Options > Kits > Debuggers 页面检查列表里有没有你当前编译器对应的调试器。
- 如果是 MSVC 编译器(比如
MSVC 2019 64-bit),必须有类型为CDB的调试器,路径通常指向Windows Kits\10\Debuggers\x64\cdb.exe(注意不是windbg.exe) - 如果是 MinGW 编译器,对应的是
GDB,路径类似MinGW\bin\gdb.exe;但要注意版本——gdb-11.2-x86_64-w64-mingw32这类带架构标识的才能稳定支持 Qt 6.x - 如果列表为空,点
Add手动填路径;如果已有但显示“Not supported”,说明该调试器与当前 Qt 版本或构建套件 ABI 不匹配(比如用 32 位 gdb 调 64 位程序)
MSVC 下 CDB 安装失败?别只装 Visual Studio
Visual Studio 安装时默认不装调试工具包,CDB 是独立组件。即使你勾选了“使用 C++ 的桌面开发”,也大概率没包含它。
Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。
- 打开 Visual Studio Installer → 修改已安装版本 → 勾选
Windows SDK 和目标平台调试工具(不是“调试工具”,是带“目标平台”前缀的那个) - 安装完后,在命令行运行
cdb -version,能输出版本号才算真正就位 - 常见错误:
The system cannot find the file specified—— 多半是因为路径里含空格或中文,建议把 Qt Creator 安装到纯英文路径(如C:\Qt\Tools\QtCreator),避免路径解析失败
console.log 或 qDebug() 不输出?和调试器无关,是运行配置问题
很多人以为输出不显示是调试器坏了,其实更常出在 Run Settings 里。
- 进
Projects > Run > Run in terminal,这个选项必须勾选;否则 Qt Creator 会用自己的进程启动方式,绕过标准输出重定向 - QML 项目还需额外加环境变量:
QML_DISABLE_DISK_CACHE=1和QT_LOGGING_RULES=*.debug=true,不然日志可能被缓存或过滤 - 如果用了
qInstallMessageHandler自定义日志处理器,要确保 handler 函数里调用了fprintf(stderr, ...)或等效输出,否则qDebug()会被静默丢弃
跨平台 Kit 配置容易漏掉的关键点
Linux 和 Windows 共享同一份 .pro 或 CMakeLists.txt 时,Kit 配置差异会导致构建成功但调试失败。
- Linux 下
gdb默认路径是/usr/bin/gdb,但 Qt Creator 有时会误读成/usr/bin/gdbserver(那是远程调试用的),手动指定前者 - macOS 上需确认
lldb是否启用:在Options > Kits > Debuggers中添加类型为LLDB的条目,路径为/usr/bin/lldb,并确保 Xcode 命令行工具已安装(xcode-select --install) - 所有平台都要检查
Build & Run > Kits页面里每个 Kit 的 “Debugger” 下拉框是否真的选中了对应调试器——有时候界面显示正常,但下拉框实际值为空,需要手动再点一次确认
dbgcore.dll)、Qt 构建时是否启用了 debug info(CONFIG += debug_and_release)、甚至 IDE 启动时的当前工作目录。这些细节不逐个验证,光靠“重新加载项目”解决不了问题。










