Qt Creator断点调试完整教程

云婷姑娘_5730

云婷姑娘_5730

2026-08-10

918人浏览

原创

qt creator断点调试有效的前提是断点被命中、调试器正确附加且符号完整加载;需在debug模式下用-g编译,点击行号左侧设断点或按f9,避免设在优化掉的代码行。

qt creator断点调试完整教程

Qt Creator 断点调试不是“设了就能停”,关键在于断点是否被命中、调试器是否真正附加、符号是否加载完整——三者缺一不可。

怎么设置断点才有效

mainwindow.cpp 或任意源文件中,直接点击行号左侧空白区域(灰色边栏),出现红色实心圆点即为成功设置;也可将光标置于某行后按 F9(Mac 为 F8)。注意:

  • 断点只对已编译进可执行文件的代码生效,若该行被编译器优化掉(如 -O2 下的空循环、内联函数体),断点会变灰且不触发
  • 头文件中定义的 inline 函数,断点需设在调用处或确保编译时禁用内联(Q_DECL_NOINLINE
  • 使用 qDebug() 输出但未连接到调试器控制台时,不影响断点,但可能掩盖实际执行路径

为什么程序没停在断点上

常见原因不是“断点没设对”,而是调试环境未就绪:

Qt Creator 18.0.2
Qt Creator 18.0.2

Qt Creator 18.0.2 Windows x86_64 历史版本安装包,适合需要旧版本 IDE、旧项目兼容、Qt/C++ 项目维护、构建套件配置和调试环境回退的用户使用。

下载
  • 项目构建套件(Kit)未启用调试信息:检查 Projects > Build & Run > Build Steps > Details > Compiler flags 中是否含 -g(GCC/Clang)或 /Zi(MSVC)
  • 运行的是 Release 构建而非 Debug 构建:确认左下角构建套件选中的是 Debug,且已执行过 Build > Rebuild Project
  • 断点位于动态库(.so/.dll)中,但未加载对应 .debug 文件或源码路径不匹配:可在 Breakpoints 视图右键断点 → Location 查看解析状态,显示 pending 即未定位
  • 程序启动后立即退出(如无事件循环的控制台程序),断点来不及触发:改用 Run > Start DebuggingF5)而非 Run > Start RunningCtrl+R

断点属性怎么用才不踩坑

右键断点 → Edit Breakpoint 可配置条件与行为,但多数人忽略两个关键细节:

  • Condition 填写表达式时,必须是当前作用域可访问的变量,不能写未声明的临时名(如 i == 5 合法,data.size() > 10 需确保 data 在此时已构造)
  • Ignore count 是“跳过前 N 次命中”,不是“只在第 N 次触发”;若想只在第 5 次停,应填 4
  • Log 选项勾选后,断点仍会暂停,除非同时勾选 Continue after logging —— 这个组合常被误认为“仅打日志”,实际默认仍中断
  • 数据断点(Break on data access)依赖硬件支持,在 ARM64(如 RK3562)上可能不可用,调试前先查 gdb -ex "help break watch" 确认目标平台能力

调试时怎么看清变量真实值

“局部变量”面板显示的值有时是误导性的,尤其对 Qt 容器和指针:

  • QList<int></int>QMap,默认只显示 size,需点击右侧 + 展开才能看到元素;若展开失败,大概率是缺少 qtcreator-debugging-helper 插件或 Python 脚本路径未配置
  • 悬停查看变量时,若显示 <inaccessible></inaccessible>,说明该内存地址当前不可读(如野指针、已析构对象),不是界面卡顿
  • 修改变量值时,QString 必须用双引号包裹新值("new text"),直接输 new text 会被解释为变量名导致报错
  • 调试器控制台中执行 call someFunction() 可能改变程序状态,慎用于有副作用的函数(如修改全局状态、发信号)

最易被忽略的一点:Qt Creator 的调试器视图(Locals/Expressions)默认只刷新一次,断点暂停后若变量值未更新,得手动右键面板 → Refresh,否则看到的是上一次中断时的快照。

相关文章

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

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

下载

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

相关专题

更多
视频后缀名都有哪些
视频后缀名都有哪些

视频后缀名都有avi、mpg、mpeg、rm、rmvb、flv、wmv、mov、mkv、ASF、M1V、M2V、MPE、QT、VOB、RA、RMJ、RMS、RAM、等等。更多关于视频后缀名的相关知识,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.10.31

9445

17

C++ Qt图形开发
C++ Qt图形开发

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

2025.08.15

3482

7

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

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

2025.12.05

1321

15

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

20

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

180

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

80

10

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

2026.09.16

80

23

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

2026.09.16

60

25

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习