首先确保安装C/c++扩展和调试器并生成带-g参数的可执行文件,然后创建launch.json配置调试类型、程序路径、预启动编译任务及调试器路径,配合tasks.json定义编译命令,最后按F5启动调试。

在使用 vscode 调试 C++ 程序时,需要正确配置 launch.json 文件。这个文件告诉调试器如何启动程序、使用哪个可执行文件、传入什么参数等。下面是如何配置它的详细说明。
1. 确保已安装必要扩展和工具
在配置之前,请确认以下内容已准备就绪:
- 已安装 C/C++ 扩展(由 microsoft 提供)
- 已安装调试器,如 GDB(linux/macOS)或 MinGW-w64 / MSVC(windows)
- 已通过编译生成可执行文件(例如使用 g++ 编译)
2. 创建 launch.json 文件
打开 VSCode,在左侧活动栏点击调试图标(虫子图标),然后点击“创建 launch.json”或“添加配置”。
如果还没有 .vscode/launch.json 文件,VSCode 会提示选择环境,选择 C++ (GDB/LLDB)。
3. 常见 launch.json 配置示例(以 g++ 为例)
以下是一个适用于 Linux/macOS 或 windows 上 MinGW 的典型配置:
立即学习“C++免费学习笔记(深入)”;
{ “version”: “0.2.0”, “configurations”: [ { “name”: “调试C++程序”, “type”: “cppdbg”, “request”: “launch”, “program”: “${workspaceFolder}/${fileBasenameNoExtension}.exe”, // Windows 下带 .exe “args”: [], “stopAtEntry”: false, “cwd”: “${workspaceFolder}”, “environment”: [], “externalConsole”: false, // 使用集成终端 “MIMode”: “gdb”, “miDebuggerPath”: “gdb”, // 确保 gdb 在系统路径中 “setupCommands”: [ { “description”: “为 printf 启用整齐打印”, “text”: “-enable-pretty-printing”, “ignoreFailures”: true } ], “preLaunchTask”: “编译” // 对应 tasks.json 中的任务名 } ] }
4. 关键字段说明
- program:指定要调试的可执行文件路径。常用变量:
${workspaceFolder} → 项目根目录
${fileBasenameNoExtension} → 当前文件名(不含后缀,如 main) - preLaunchTask:在启动调试前运行的任务,通常用于编译。需在
tasks.json中定义名为“编译”的任务 - miDebuggerPath:调试器路径。Windows 上若使用 MinGW,可能是
C:mingw64bingdb.exe - externalConsole:设为 true 可弹出外部终端窗口(某些情况下避免程序闪退)
5. 配合 tasks.json 实现一键编译调试
确保项目根目录下有 .vscode/tasks.json,定义编译任务:
{ “version”: “2.0.0”, “tasks”: [ { “label”: “编译”, “type”: “shell”, “command”: “g++”, “args”: [ “-g”, “${file}”, “-o”, “${fileBasenameNoExtension}.exe” ], “group”: { “kind”: “build”, “isDefault”: true }, “problemMatcher”: [“$gcc”] } ] }
这样,启动调试时会自动先编译当前文件。
基本上就这些。配置完成后,打开一个 C++ 文件,按 F5 即可开始调试。断点、变量监视、调用栈等功能都能正常使用。注意确保编译时加了 -g 参数以包含调试信息。