最直接删除单个断点的方式是点击代码行号左侧的红点断点图标,精确点在红圈上即消失;若无效,可右键该行选择“Delete breakpoint”。

单个断点怎么删
最直接的方式是点击代码行号左侧的红点断点图标,点一下就消失。如果没反应,说明你点偏了——必须精确点在那个红圈上,不是整行、不是边距空白区、更不是代码里。
右键断点也能删:光标停在带断点的行,右键 → 选择 Delete breakpoint。这个方式适合断点被遮挡或误触后想确认删除动作。
常见错误现象:Ctrl+F8 是切换断点开关(设/取消),不是删除;按了只是让红点变白(禁用),断点还在内存里,下次调试仍可能生效。
批量删除所有断点
快捷键 Ctrl+Shift+F8 打开断点管理窗口,点左下角的 Remove All 按钮,所有断点立刻清空。这个操作不可撤销,但不会影响已保存的运行配置或源码。
另一个更快的路径:点击工具栏虫子图标旁的 View Breakpoints 按钮(图标是多个小圆点叠在一起),弹出窗口后全选 → Delete 键。
注意:Disable All Breakpoints(图标是红点加斜杠)只是临时屏蔽,不是删除。调试时它仍占用断点资源,且某些条件断点的表达式还会被持续评估,可能拖慢调试速度。
为什么删不掉断点
断点没真正删除,常见于以下几种情况:
- 项目用了 CMake 多配置构建,你在
Debug配置下删了断点,但实际运行的是Release配置——断点是按配置独立存储的 - 断点设在头文件里,而该头文件被多个源文件包含,CLion 会为每个包含点生成独立断点实例,只删其中一个没用
- 你删的是“临时断点”(比如通过
Run to Cursor触发的),这类断点不显示在断点管理窗口,也不会出现在行号区,只能靠重启调试会话清除
验证是否删干净:打开 Ctrl+Shift+F8 窗口,列表为空才代表真没了。
删断点前要不要保存状态
不需要。CLion 的断点信息存在本地 .idea/workspace.xml 里,不参与 Git 提交,也不影响编译结果。但如果你习惯用 Disable All 代替删除,得留意团队协作时别人调试可能被你禁用的断点干扰——尤其是共享开发环境或远程调试场景。
真正容易被忽略的是:断点管理窗口里的“Group by”选项默认是按语言分组,C/C++ 和头文件断点可能藏在不同折叠项里,一划而过以为删完了,其实还有漏网之鱼。


















