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,发现有错误

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

执行一下命令

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


再次运行lldb-mi验证是否正常

创建测试目录test,在目录中建立文件test.cpp。

用vsocde打开目录test。

创建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运行代码

设置断点,按F5测试调试功能

--完成--

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-02-07 07:56:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-07 07:56:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-07 07:56:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-07 07:56:02       20 阅读

热门阅读

  1. MIT-Missing Semester_Topic 6:Version Control (Git) 练习题

    2024-02-07 07:56:02       32 阅读
  2. ES鉴权设计以及相关探讨

    2024-02-07 07:56:02       34 阅读
  3. MogaNet:高效的多阶门控聚合网络

    2024-02-07 07:56:02       25 阅读
  4. 容器库(4)-std::forward_list

    2024-02-07 07:56:02       27 阅读
  5. linux系统非关系型数据库redis

    2024-02-07 07:56:02       34 阅读
  6. 深度学习:人工智能的新篇章

    2024-02-07 07:56:02       30 阅读
  7. Rust语言基础语法

    2024-02-07 07:56:02       34 阅读
  8. .NET Core 3 foreach中取索引index

    2024-02-07 07:56:02       32 阅读
  9. spring boot学习第十一篇:发邮件

    2024-02-07 07:56:02       29 阅读
  10. 2.6学习总结10

    2024-02-07 07:56:02       28 阅读
  11. 算法——C/动态规划

    2024-02-07 07:56:02       30 阅读
  12. openssl3.2 - update debian12‘s default openssl to openssl3.2

    2024-02-07 07:56:02       34 阅读