在Windows上的VS Code中使用Clang,并使用lldb进行调试

目录

  1. 1. 安装 Clang
  2. 2. 配置 VS Code

安装 Clang

前置条件:用mingw 的安装器下载 mingw 的 gcc 和 g++的软件包。

官网上标注的 llvm 仓库下载基于 mingw 的 Clang 的文件。选择最新的 release 版本,找到和你电脑对应的架构和系统下载。

我的电脑是 Win10 x64版本,这里选择了 llvm-mingw-日期-msvcrt-x86_64.zip这个包。下载完成后,打开这个压缩包,将其解压到某个好记的位置上。我解压到了 C:\clang目录下。

到这里,如果不需要在命令行或 PowerShell 中直接调用 clang,那么就这步就算完成了。如果有对应需要的话,就去添加一下对应的 PATH 变量。

配置 VS Code

创建一个文件夹,作为我们要在之后编写 C++代码的储存库。在这个文件夹中再创建 .vs文件夹。

在这个文件夹下创建

三个文件,分别命名为

  • launch.json
  • tasks.json
  • c_cpp_properties.json

这里提供一份样例配置供参考

launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "clang++ - 生成和调试活动文件",
      "type": "lldb",
      "request": "launch",
      "program": "${fileDirname}/exec/${fileBasenameNoExtension}.exe",
      "args": [],
      "cwd": "${fileDirname}/exec/",
      "preLaunchTask": "C/C++: clang++ 生成活动文件"
    }
  ]
}
task.json
{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: clang++ 生成活动文件",
      "command": "C:/clang/bin/clang++",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/exec/${fileBasenameNoExtension}.exe"
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "调试器生成的任务。"
    }
  ],
  "version": "2.0.0"
}
c_cpp_properties.json
{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**",
        "C:/clang/include",
        "C:/clang/include/c++/v1",
        "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
        "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/parallel",
        "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32"
      ],
      "defines": [],
      "compilerPath": "C:/clang/bin/clang.exe",
      "cStandard": "c23",
      "cppStandard": "c++23",
      "intelliSenseMode": "windows-clang-x64",
      "configurationProvider": "ms-vscode.makefile-tools"
    }
  ],
  "version": 4
}

注:如果直接套用这三个配置文件,那么还需要在最开始创建的文件夹下新建名为 exec的文件夹,用来存放编译后的可执行文件。

添加完这三个文件后,用 VS Code 打开此文件夹下的 cpp文件,按下 F5就可以编译并运行了。