配置vscode调试c++需设置tasks.json和launch.json:先安装C/C++扩展与编译器,通过tasks.json定义带-g参数的编译任务,再在launch.json中指定可执行文件路径、预启动任务及调试器路径,确保两者label匹配,最后按F5启动调试,支持断点、变量查看与控制台输入。
使用VSCode调试C++程序需要正确配置几个关键文件,主要是launch.json
和tasks.json
。只要设置得当,就能轻松实现断点调试、变量查看和控制台输入输出。
1. 安装必要组件
确保已安装以下内容:
在终端中运行g++ --version
确认编译器可用。
2. 配置 tasks.json(编译任务)
tasks.json
定义如何编译你的C++代码。按下 Ctrl+Shift+P 输入“Tasks: Configure Task”,选择“Create tasks.json file from template”,然后选择“Others”。替换内容如下:
立即学习“C++免费学习笔记(深入)”;
{ "version": "2.0.0", "tasks": [ { "type": "shell", "label": "build cpp", "command": "g++", "args": [ "-g", "-std=c++17", "main.cpp", "-o", "main" ], "options": { "cwd": "${fileDirname}" }, "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] }
说明:
-
-g
:生成调试信息,必须添加 -
main.cpp
和main
:根据实际源文件和输出名修改 -
label
是任务名称,在 launch.json 中引用
3. 配置 launch.json(调试启动)
按下 F5 或点击“运行和调试”侧边栏,选择“C++ (GDB/LLDB)”,会自动生成 launch.json
。修改核心部分如下:
{ "version": "0.2.0", "configurations": [ { "name": "Debug C++", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/main", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "setupCommands": [ { "description": "Enable pretty printing", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build cpp", "logging": { "engineLogging": false } } ] }
关键点:
-
program
:指向编译生成的可执行文件 -
preLaunchTask
:必须与tasks.json
中的label
一致 -
miDebuggerPath
:linux通常为/usr/bin/gdb
,windows用户若使用MinGW,路径可能是C:mingw64bingdb.exe
-
externalConsole
:设为true
可单独弹出控制台(适合需要输入的程序)
4. 开始调试
打开你的C++源文件(如 main.cpp),按 F5,VSCode会自动:
- 调用
tasks.json
编译带调试信息的程序 - 启动 GDB 并加载可执行文件
- 命中设置的断点,支持单步、查看变量、调用栈等
如果程序需要命令行输入,建议将 externalConsole
设为 true
,否则可能无法从集成终端正常输入。
基本上就这些。配置一次后,同一项目下其他C++文件也可复用,只需调整文件名即可。关键是编译时带 -g
,并确保 task 和 launch 匹配。不复杂但容易忽略细节。