Qt Creator为什么不能进入调试模式?

风辰君_1039

风辰君_1039

2026-08-08

686人浏览

原创

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

qt creator为什么不能进入调试模式?

“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 红字。

实操建议:

C++14
C++14

C++14 对 C++11 的修正与增强版本,适合旧系统维护和较老工具链兼容。

下载
  • 优先克隆当前 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 不生效
调试器能启动、断点能命中,不代表就能看到变量值。Qt 的 QString、QVector 等类型依赖调试器的 Python 扩展来格式化显示,而这个扩展本身又依赖 Qt Creator 内置 Python 解释器与 Qt 版本的 ABI 兼容性——这点最容易被忽略,也最难排查。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

2025.08.15

4842

7

C++桌面程序开发
C++桌面程序开发

本专题聚焦 C++ 在桌面端图形界面应用开发中的实战应用,系统讲解 Qt 框架的信号与槽机制、界面布局管理、事件响应、数据交互、样式美化与多窗口应用设计等核心知识。通过实战案例(如记事本应用、数据管理工具、系统监控面板),帮助学习者掌握 从UI设计到完整桌面软件开发的C++工程化能力。

2025.10.23

1334

13

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

2025.12.05

1421

15

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

60

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

20

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

20

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

20

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

20

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Qt入门课堂 - Qt Quick Controls
Qt入门课堂 - Qt Quick Controls

共0课时 | 0人学习

Qt Creator 调试文档
Qt Creator 调试文档

共0课时 | 0人学习

Qt Creator 项目创建文档
Qt Creator 项目创建文档

共0课时 | 0人学习