在 macOS 上用 VSCode 调试 C++ 单文件需三步:一、终端确认 clang++ 和 lldb 已安装(否则运行 xcode-select --install);二、装好 VSCode 及 C/C++、CodeLLDB、Code Runner 插件;三、自动生成并核对 tasks.json(含 -g)和 launch.json(type: cppdbg、MIMode: lldb、preLaunchTask 名称严格匹配)。

在 macOS 上用 VSCode 直接运行和调试 C++ 单文件程序,核心是让编辑器能调用系统自带的 clang++ 编译器生成带调试信息的可执行文件,并通过 lldb 启动调试会话——缺了任一环节,点 F5 就只会弹出“无法启动程序”或“找不到调试器”。
确认底层工具链已就绪
打开终端,依次执行三行命令:
clang++ --version → 若输出类似 “Apple clang version 15.0.0” 则通过;
lldb --version → 必须有响应,这是 macOS 原生调试器,VSCode 调试依赖它;
立即学习“C++免费学习笔记(深入)”;
如果任一命令报 command not found,运行 xcode-select --install → 等待弹窗安装完成再重试。这一步跳过会导致后续所有配置都无效,【没有 lldb 就根本无法调试】。
装好 VSCode 及关键插件
从官网下载最新版 VSCode(Universal ARM64/Intel),拖入 Applications 文件夹即可。
启动后按 ⇧⌘X 打开扩展面板,搜索并安装以下三个插件:
• C/C++(Microsoft 官方,ID: ms-vscode.cpptools)→ 提供语法支持和 IntelliSense;
• CodeLLDB(v2026.x+)→ 替换默认调试后端,专为 macOS 的 lldb 优化;
• Code Runner(可选但推荐)→ 按 ⌘⌥N 一键运行,不进调试流程时更快捷。
生成 tasks.json:告诉 VSCode 怎么编译
打开一个 .cpp 文件(如 main.cpp),按 ⇧⌘P 输入「Tasks: Configure Default Build Task」→ 回车 → 选择「C/C++: clang++ build active file」。
VSCode 自动在项目根目录下创建 .vscode/tasks.json 文件,无需手动编辑,但需确认其中 args 字段包含 "-g" 参数——这是生成调试符号的关键开关,漏掉它,F5 启动后断点全灰、变量不可见。
组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。
若你手动修改过该文件,请确保 command 是 "/usr/bin/clang++" 或直接写 "clang++"(前提是 PATH 正确),且 output 文件路径为 "${fileDirname}/${fileBasenameNoExtension}"。
生成 launch.json:定义调试行为
点击左侧「运行和调试」图标(或按 ⇧⌘D),点击「创建 launch.json 文件」→ 选择「C++ (GDB/LLDB)」→ 再选「clang++ - Build and debug active file」。
自动生成的 launch.json 中,必须做三处核对:
① "type": "cppdbg" → 不可改为 cppvsdbg(那是 Windows 专用);
② "MIMode": "lldb" → macOS 唯一可用调试协议,写成 "gdb" 会直接失败;
③ "preLaunchTask": "C/C++: clang++ build active file" → 名称必须与 tasks.json 中 label 字段**完全一致**,包括大小写和空格,否则编译步骤被跳过,调试启动时找不到可执行文件。
program 字段保持默认 "${fileDirname}/${fileBasenameNoExtension}" 即可,这是编译输出的目标路径。
实际运行与调试操作
方法一:纯运行(不进调试)
将光标停留在 .cpp 文件内 → 按 ⌘⌥N(Code Runner 默认快捷键)→ 终端自动编译并执行,输出结果直接显示在集成终端中。
方法二:带断点调试
在代码行号左侧灰色区域单击设断点(出现红点)→ 按 Fn+F5(注意不是仅 F5,M1/M2 Mac 需加 Fn)→ 程序停在断点处,变量窗口实时显示 a、sum 等值,按 F10 单步跳过,F11 单步进入函数。
注意:不能在 launch.json 文件标签页里点绿色三角形运行,必须回到 .cpp 源码页再触发;否则 VSCode 会尝试调试 JSON 文件本身,报错 “Cannot debug JSON files”。

















