必须掌握断点设置与调试会话启动流程:先确认GDB/LLDB调试器就绪且二进制含-g符号;再通过点击行号区、Ctrl+F8或右键设条件断点;最后用Shift+F9启动调试,在Variables和Frames面板中实时分析变量与调用栈。

要在CLion中精准定位C++程序运行时的变量状态、执行路径和逻辑错误,必须掌握断点设置与调试会话启动的核心操作流程。
确认调试环境已就绪
打开CLion后,先检查左下角状态栏是否显示“GDB”或“LLDB”图标;若显示“Unavailable”或为空,说明调试器未正确识别。此时需进入 File → Settings → Build, Execution, Deployment → Toolchains,在 Debugger 下拉菜单中选择系统已安装的 GDB(Linux/macOS)或 MinGW-w64-gdb(Windows)。【Windows用户务必避免选择Bundled LLDB】,否则断点将完全失效且无报错提示。
确保项目根目录下存在可执行文件(如通过 CMake 构建生成的 ./cmake-build-debug/your_target),且该二进制文件包含调试符号(即编译时启用 -g 选项)。若使用 Makefile 工程,需确认 make 命令实际调用了 g++ -g 而非仅 g++。
设置断点的三种方式
方法一:鼠标点击行号左侧灰色区域。光标悬停时出现红色圆点预览,单击即可添加;再次单击可取消。这是最直观的方式,适合快速定位主干逻辑。
立即学习“C++免费学习笔记(深入)”;
方法二:将光标置于目标代码行任意位置,按 Ctrl+F8(Windows/Linux)或 Cmd+F8(macOS)。此快捷键可反复触发开关,无需挪动鼠标。
方法三:右键点击已设断点 → 选择“Edit Breakpoint”,在弹出窗口中输入条件表达式(例如 i > 100 || status == ERROR)。条件为真时才会中断,避免在大量循环中反复停顿。
启动并控制调试会话
第一步:确认顶部工具栏右侧的运行配置下拉框中已选中你的调试配置(名称通常含 “Debug” 或项目名)。
第二步:点击绿色虫子图标(▶️),或按 Shift+F9 启动调试。CLion 将自动编译(若源码有变更)、启动程序,并在首个断点处暂停。
第三步:程序暂停后,调试工具窗口自动展开。左侧 Variables 面板实时显示当前作用域所有变量值;右侧 Frames 显示调用栈;底部 Console 输出程序日志及调试器指令反馈。此时可直接修改变量值(双击数值列)、拖动执行箭头跳转到某一行(仅限当前函数内)、或点击“Step Over (F8)”逐行执行。
注意:若点击“Resume Program (F9)”后程序直接退出而未再中断,说明后续无有效断点或程序已自然结束;此时应检查断点是否被禁用(断点呈灰色圆圈)或所在代码路径未被执行。
调试远程或外部可执行文件
当目标程序已在远程服务器或本地终端中运行,且你无法从 CLion 内部构建时,选择 Run → Attach to Process(快捷键 Ctrl+Alt+F5)。在弹出进程列表中筛选进程名,选中后点击 OK 即可注入调试器。
若调试的是独立编译的二进制(如 ./my_server),则需新建运行配置:Run → Edit Configurations → + → Custom Build Application,在 “Executable” 字段填入绝对路径,并在 “Build target” 中指定 dummy 构建任务(如 echo "skip")。【必须填写有效的可执行路径,否则调试按钮为灰色不可用】


















