惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

青空之蓝

[青空之蓝-2023] - 色彩 | 青空之蓝 [青空之蓝-2022] - 平静 | 青空之蓝 [青空之蓝-2021] - 远望 | 青空之蓝 浅谈垃圾回收 | 青空之蓝 浅谈泛型擦除 | 青空之蓝 浅谈单点登录 | 青空之蓝 使用 Kotlin 编写 Spring 测试 | 青空之蓝 设计模式系列文章 | 青空之蓝 从零实现一个 Java 微框架 - IoC | 青空之蓝 从零实现一个 Java 微框架 - 前言 | 青空之蓝 浅谈 JVM:类加载 | 青空之蓝 浅谈 IO | 青空之蓝 浅谈并发:synchronized & ReentrantLock | 青空之蓝 浅谈并发:CAS & AQS | 青空之蓝 浅谈并发:ThreadLocal | 青空之蓝 浅谈并发:三大特性 | 青空之蓝 浅谈组合注解 & 注解别名 | 青空之蓝 [青空之蓝-2020]-迷茫 | 青空之蓝 Java 系列文章 | 青空之蓝 HTTP 系列文章 | 青空之蓝 浅谈 EatWhatYouKill | 青空之蓝 浅谈可扩展线程池 | 青空之蓝 聊聊写框架 | 青空之蓝 聊聊现状-[2020-09] | 青空之蓝 浅谈并发:锁 | 青空之蓝 浅谈并发:基础 | 青空之蓝 浅谈缓存 | 青空之蓝 无须定义类,Spring 快速注入 Json 参数 | 青空之蓝 浅谈 Proxy 和 Aop | 青空之蓝 从零实现一个 PHP 微框架 - 初始化请求 | 青空之蓝
VSCode配置C/C++ GDB调试环境[Windows] | 青空之蓝
Otstar Lin · 2018-09-04 · via 青空之蓝

折腾了两个小时,终于把 VSCode 调试环境弄好了 (开心

环境准备

VSCode

安装 C/C++ for Visual Studio Code 插件

  1. 按下 Ctrl+Shift+X
  2. 在搜索框中输入 C/C++
  3. 安装第一个插件

至此 VSCode 环境部分配置完毕

GDB

安装 MinGW

  1. 下载 MinGW
  2. 点击Continue开始安装,安装过程需联网,若安装时提示error则需使用梯子进行安装
  3. Continue按钮恢复为可用状态,点击完成安装

GCC 环境安装

  1. 打开 MinGW
  2. 选中左栏的Basic Setup,然后选中mingw32-gcc-g++-bin,右键选择Mark for installation
  3. 选中All packages,找到mingw32-gdb-bin,mingw32-gdb-doc,mingw32-gdb-info,mingw32-gdb-lang,mingw32-gdb-lic,mingw32-gdb-man,右键选择Mark for installation
  4. 点击左上角的installation,然后点击Apply Changes
  5. 点击Apply,等待安装完成,点击 close

至此 GDB 环境部分配置完成

MinGW 配置较为繁琐,可以考虑使用MinGW64,MinGW64 安装后就不需上方的配置,一路点击下一步即可。(但是还是要配置环境变量

添加环境变量

  1. 进入设置,点击系统,然后选择关于,然后点击右侧系统信息
  2. 在弹出的系统信息中,选中左栏高级系统设置,然后选中环境变量
  3. 在系统变量一栏中找到Path,双击,然后新建一个C:\MinGW\bin 的变量
  4. 一路确定,直到关闭所有选卡
  5. 重启电脑

配置 VSCode

新建一个cpp文件,写上以下测试代码

#include <iostream>
int main()
{
    using namespace std;
    cout << "Test 1";
    cin.get ();
    return 0;
}
#include <iostream>
int main()
{
    using namespace std;
    cout << "Test 1";
    cin.get ();
    return 0;
}

Ctrl+S 保存,然后按 F5,VSCode 会在上方弹出选择环境,选择C++(GDB/LLDB),然后将以下代码覆盖至launch.json,注意miDebuggerPath路径要对应

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "C:/MinGW/bin/gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "Build"
    }
  ]
}
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "C:/MinGW/bin/gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "Build"
    }
  ]
}

回到新建的cpp中,按下 F5,会显示找不到任务,点击配置任务,点击使用模板创建,然后点击带有Other的选项,用以下代码覆盖tasks.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build",
      "command": "g++",
      "args": ["-g", "-Wall", "-std=c++11", "-lm", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
      "presentation": {
        "reveal": "always",
        "echo": false,
        "focus": true
      },
      "problemMatcher": {
        "owner": "cpp",
        "fileLocation": "absolute",
        "pattern": {
          "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "severity": 4,
          "message": 5
        }
      }
    },

    {
      "label": "Run",
      "type": "shell",
      "dependsOn": "Build",
      "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
      "args": [],
      "presentation": {
        "reveal": "always",
        "focus": true
      },
      "problemMatcher": [],
      "group": {
        "kind": "test",
        "isDefault": true
      }
    }
  ]
}
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Build",
      "command": "g++",
      "args": ["-g", "-Wall", "-std=c++11", "-lm", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}.exe"],
      "presentation": {
        "reveal": "always",
        "echo": false,
        "focus": true
      },
      "problemMatcher": {
        "owner": "cpp",
        "fileLocation": "absolute",
        "pattern": {
          "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "severity": 4,
          "message": 5
        }
      }
    },

    {
      "label": "Run",
      "type": "shell",
      "dependsOn": "Build",
      "command": "${fileDirname}/${fileBasenameNoExtension}.exe",
      "args": [],
      "presentation": {
        "reveal": "always",
        "focus": true
      },
      "problemMatcher": [],
      "group": {
        "kind": "test",
        "isDefault": true
      }
    }
  ]
}

Ctrl+S 保存,然后回到新建的cpp,按下 F5,程序就会被编译运行,至此 GDB 调试环境便配置完成.

对了,C/C++也是可以进行断点调试的,具体方法可以参考 VSCode 配置 PHP 调试环境[Windows]

在使用过程中你可能会遇到输入或输出中文乱码的问题,此时只需要将文件改成 GB2312 编码即可

VSCode配置C/C++ GDB调试环境[Windows]

https://blog.ixk.me/post/vscode-configuration-c-cpp-gdb-debugging-environment-windows
  • 许可协议

    BY-NC-SA

  • 本文作者

    Otstar Lin

  • 发布于

    2018/09/04

转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!

VSCode配置PHP调试环境[Windows]WordPress友情链接模板