launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/haloworld", //haloworld改为自己的程序名,文件名与 build.json 中生成的可执行文件名保持一致
"args": [],
"stopAtEntry": false, //是否在 main 函数处暂定执行
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, //在打开外部终端执行程序,而不是在 VSCode 的控制台中运行
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "haloworld" // 与tasks.json中"label"对应,如果不加这行则无法击中断点
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "haloworld", //当前编译任务的名字
"type": "shell",
"command": "g++", //编译时执行的程序
"args": ["-g", "-o", "haloworld", "haloworld.cpp"], //传递给 command 的参数,也就是编译参数
"group": {
"kind": "build",
"isDefault": true //为 True 时,用户可以通过 Ctrl+Shift+B 直接运行编译任务
}
}
]
}