首页 » 折腾记录 » VSCode配置C/C++ GDB调试环境[Windows]

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

2018年9月4日 Otstar Lin 折腾记录

折腾了两个小时,终于把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;
}

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"
        }
    ]

}

回到新建的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
            }
        }
    ]
}

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

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

说点什么

在 "VSCode配置C/C++ GDB调试环境[Windows]"已有4条评论
Loading...
Prev Post Next Post
已跳转到上次阅读的位置,从头阅读?