Windows 10 系统下 VS Code 搭建 C/C++ gdb 调试环境

C/C++ karb0n ⋅ 于 2020-05-30 17:39:34 ⋅ 251 阅读

参考这篇文章,安装好 MinGW-w64,并配置好 VS Code 的 C/C++ 开发环境后,即可在 VS Code 中编译和运行 C/C++ 程序。

但是,没有调试器的 IDE 不是好 IDE(虽然 VS Code 其实只是个编辑器:hammer: ),我们为了更好地开发 C/C++ 程序,还需要给 VS Code 配置好调试环境。

MinGW-w64 中提供了 Windows 适用的 gdb 调试工具,我们在 VS Code 中配置好之后就可以用它自带的那些按钮来进行调试。

使用效果

file

方法

在你想调试的代码文件所在的文件夹下创建 .vscode 目录,然后在 .vscode 中创建 tasks.jsonlaunch.json 两个文件。
file
在两个文件中分别填入以下内容。

  • tasks.json
{
    "version": "2.0.0",
    "tasks": 
    [
        {
            "type": "shell",
            "label": "compile",
            "command": "g++",
            "args": 
            [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": 
            [
                "$gcc"
            ],
            "group": 
            {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  • launch.json
{
    "version": "0.2.0",
    "configurations": 
    [
        {
            "name": "C/C++ gdb debugger",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/mingw64/bin/gdb.exe", // 这里要改成你自己的路径
            "preLaunchTask": "compile",
            "setupCommands": 
            [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
        },
    ]
}

然后,在 VS Code 中点击顶部的运行-调试(或者直接按 F5),即可启动调试。
file

本帖已被设为精华帖!
本帖由 YX 于 3月前 加精
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter