vscode配置wsl ubuntu c++的环境

在ubuntu安装llvm/clang

sudo apt install llvm clang clangd lldb

vscode的调试器接口是按GDB开发的,所以需要一个适配器,lldb-mi就是这个适配器。lldb-mi原来是llvm项目的一部分,后面成为了一个单独的项目https://github.com/lldb-tools/lldb-mi。

接下来安装lldb-mi

sudo apt install liblldb-dev
git clone https://github.com/lldb-tools/lldb-mi.git
cd lldb-mi
mkdir build
cd build
cmake ..
cmake --build .
cp lldb-mi /usr/bin

验证一下lldb-mi,发现有错误

vscode配置wsl ubuntu c++的环境_第1张图片

使用lldb -P来查看查找的路径

vscode配置wsl ubuntu c++的环境_第2张图片

执行一下命令

sudo mkdir -p /usr/lib/local/lib/python3.10/dist-packages
sudo ln -s /usr/lib/llvm/lib/python3.10/dist-packages/lldb /usr/lib/local/lib/python3.10/dist-packages
cd /usr/bin
sudo ln -s ../lib/llvm-14/bin/lldb-server lldb-server-14.0.0

vscode配置wsl ubuntu c++的环境_第3张图片
再次运行lldb-mi验证是否正常

vscode配置wsl ubuntu c++的环境_第4张图片创建测试目录test,在目录中建立文件test.cpp。

用vsocde打开目录test。

vscode配置wsl ubuntu c++的环境_第5张图片创建tasks.json,用于编译源代码

{
    "tasks": [
      {
        "label": "compile",
        "type": "cppbuild",
        
        "command": "/usr/bin/clang++",
        "args": [
          "-fcolor-diagnostics",
          "-fansi-escape-codes",
          "-g",
          "${file}",
          "-o",
          "${fileDirname}/${fileBasenameNoExtension}"
        ],
        "options": {
          "cwd": "${fileDirname}"
        },
        "problemMatcher": [
          "$gcc"
        ],
        "group": {
          "kind": "build",
          "isDefault": true
        },
        "detail": "调试器生成的任务。"
      }
    ],
    "version": "2.0.0"
  }

创建文件launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "lldb调试",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "miDebuggerPath": "/usr/bin/lldb-mi",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "setting set target.x86-disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "compile"
        }
    ]
}

现在按快捷键Ctrl+F5运行代码

vscode配置wsl ubuntu c++的环境_第6张图片设置断点,按F5测试调试功能

vscode配置wsl ubuntu c++的环境_第7张图片

--完成--

你可能感兴趣的:(vscode,ubuntu,ide)