必须先创建有效debug配置才能调试;需确认工具链valid且调试器匹配,再通过cmake application自动生成或attach方式手动配置,最后点击虫子图标启动。

要在CLion中对C/C++项目进行断点调试、变量监视和执行流程控制,必须先创建一个有效的Debug配置,否则点击虫子图标将提示“Nothing to debug”或直接运行而非调试。
确认工具链已正确配置
打开文件 → 设置 → 构建、执行、部署 → 工具链,检查右侧是否已存在一个状态为“Valid”的工具链(如 Bundled MinGW、MSVC 或 WSL)。若为空白或显示红色感叹号,Debug配置无法创建成功——【CLion不会在工具链缺失时给出明确错误提示,但后续所有调试操作均会静默失败】。
若使用MinGW,确保“调试器”下拉框中选择了捆绑GDB(推荐);若使用MSVC,则调试器应为“LLDB for MSVC”。工具链未就绪时,跳过此步强行创建Debug配置会导致启动后立即中断并报错“Cannot start process”。
从CMake目标自动生成Debug配置
这是最常用且零出错的方法,适用于标准CMake项目(含CMakeLists.txt)。
步骤一:确保项目已成功加载,底部状态栏显示“CMake project loaded”且无红色警告。
步骤二:点击右上角运行/调试配置切换器(通常显示为项目名或“Add Configuration”),→ 选择“Edit Configurations…”。
步骤三:在左侧面板点击“+” → 选择 “CMake Application”,名称自动填充为项目名,可保持默认。
步骤四:在“Target”下拉框中选择你希望调试的可执行目标(即add_executable()定义的名称),CLion会自动填入“Executable”路径。若下拉为空,请检查CMakeLists.txt中是否遗漏set(CMAKE_CXX_STANDARD 17)等基础设置,或执行了CMake重新加载。
这一步完成后,配置即具备调试能力,无需额外勾选“Debug”开关——CMake Application类型默认启用GDB/LLDB调试器。
手动创建Attach型Debug配置(用于已运行进程)
当你需要调试已在终端或远程设备上运行的程序(例如嵌入式gdbserver、Docker容器内进程),不能用常规CMake配置启动,而需Attach方式。
方法一:运行 → 编辑配置 → “+” → 选择 “Remote Debug”。
方法二:若调试本地已启动的进程(如通过命令行运行 ./myapp --debug),则选 “C++ Attach to Process” → 点击右侧“Refresh”按钮 → 在进程列表中勾选目标进程 → 确认。
注意:C++ Attach to Process在Windows上需以管理员权限运行CLion才能看到全部进程;Linux/macOS需确保进程未被ptrace_scope限制(可通过sudo sysctl -w kernel.yama.ptrace_scope=0临时放开)。
保存并首次启动Debug会话
回到运行/调试配置切换器,确认新配置名称已出现在列表中。
点击右侧绿色虫子图标(Debug),CLion将自动构建(若启用了“Before launch: Build”)、启动调试器、停在第一个断点处。
若代码中尚未设置断点,可在任意可执行行左侧灰色区域单击,出现实心红点即表示断点已生效;断点未激活时(空心圆圈)说明该行不可打断,常见于宏展开行、内联函数或优化开启(-O2及以上)的编译结果。











