cpp

vscode调试运行cpp的配置

参考

  1. 安装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.

  2. 配置任务(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"
    }
    ]
    }
  3. 配置调试(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", // 预启动任务
    }
    ]
    }
  4. 编写代码

    #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;
    }
  5. 进行编译(ctrl+ shift+ b)和调试(F5).


Static Badge Static Badge Static Badge Static Badge
Copyright © 2023-2024 Raymond H., All Rights Reserved.