cpp
vscode调试运行cpp的配置
安装C/C++扩展并修改其配置:
在命令面板
中搜索C/C++: Edit Configurations(UI)
进入, 在compiler path
指定你系统安装的g++路径, 我的是:
D:\my_apps\for_produce\git-sdk-64\mingw64\bin\g++.exe
⚠️ 如果你要编译C文件, 那就找
gcc.exe
.配置任务(tasks.json)
{workspace}/.vscode/tasks.json
文件用于定义编译任务。
当按下述完成配置后, 去Terminal的Run Build Task
中选择C/C++: g++.exe build active file
即可编译当前文件。命令面板输入
Tasks: Configure Task
(或顶部菜单Terminal中点击Configure Tasks
), 选择C/C++:g++.exe build active file
,
生成tasks.json
文件,配置如下:{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
// `command`就是你在step1中指定的编译器路径.(注意这里的斜杠都很诡异)
"command": "D:/my_apps/for_produce/git-sdk-64/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
],
"options": {
"cwd": "D:/my_apps/for_produce/git-sdk-64/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: D:/my_apps/for_produce/git-sdk-64/mingw64/bin/g++.exe"
}
]
}配置调试(launch.json)
{workspace}/.vscode/launch.json
文件用于定义调试配置。
当按下述完成配置后, 设置好断点, 按F5即可开始调试。命令面板输入
Debug: Open launch.json
(或窗口左侧调试图标→ 创建launch.json文件→C++(GDB/LLDB)
),
即可生成launch.json
文件,点击文件右下角Add Configurations
,选择C/C++:(gdb) Launch
模板。配置如下:{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称
"type": "cppdbg", // 调试器类型
"request": "launch", // 调试请求类型
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // ⚠️ 可执行文件路径, 来自task.json的`args`列表中的`-o`的参数.
"args": [], // 程序参数
"stopAtEntry": false, // 是否在入口点停止
"cwd": "${workspaceFolder}", // 当前工作目录, 或`${fileDirname}`
"environment": [],
"externalConsole": false, // 是否使用外部终端
"MIMode": "gdb", // 使用 GDB 调试器
"miDebuggerPath": "D:/my_apps/for_produce/git-sdk-64/mingw64/bin/gdb.exe", // ⚠️ GDB 路径, 来自task.json中编译器的相同目录.
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
//"preLaunchTask": "build", // 预启动任务
}
]
}编写代码
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
int main(){
cout << fibonacci(10) << endl;
}进行编译(
ctrl+ shift+ b
)和调试(F5
).