Linux ubunut vscode 调试 rust

前言

公司sdk需要rust语言去解析,记录下代码调试过程


安装过程

  1. vscode 官网下载安装
  2. rust 官网安装,我用的ubuntu22.04.3桌面系统,直接运行的 curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh 等待执行完成就安装好了,使用版本为 cargo 1.74.1

vscode插件

在 Visual Studio Code 中,Rust 开发常用的插件包括 rustrust-analyzerCodeLLDB。下面是这些插件的简要介绍:

  1. Rust 插件 (rust-lang.rust):

    • 作用: 提供 Rust 语言的基本支持,包括语法高亮、代码片段、调试支持等。
    • 功能:
      • 语法高亮和代码片段。
      • 提供基本的代码导航和补全。
      • 集成测试支持。
      • 构建和运行 Rust 程序。
    • 安装方式: 在 VSCode 中搜索 “Rust” 并安装 rust-lang.rust 插件。
  2. Rust Analyzer 插件 (matklad.rust-analyzer):

    • 作用: 提供更强大的 Rust 语言支持,是一种 Rust 语言服务器(Language Server)。
    • 功能:
      • 智能代码补全和导航。
      • 实时代码分析和错误检查。
      • 强大的重构支持。
      • 更好的整合测试支持。
    • 安装方式: 在 VSCode 中搜索 “Rust Analyzer” 并安装 matklad.rust-analyzer 插件。
  3. CodeLLDB 插件 (vadimcn.vscode-lldb):

    • 作用: 提供 LLDB 调试器的集成,用于在 VSCode 中进行 Rust 代码的调试。
    • 功能:
      • 在 VSCode 中进行断点设置、变量查看等调试操作。
      • 集成 LLDB 的调试功能,支持 Rust 项目的调试。
    • 安装方式: 在 VSCode 中搜索 “CodeLLDB” 并安装 vadimcn.vscode-lldb 插件。

安装步骤:

  1. 打开 VSCode。
  2. 在 Extensions 视图中搜索插件的名称。
  3. 找到插件并点击安装按钮。

这些插件协同工作,使得在 VSCode 中进行 Rust 项目的开发、调试和分析变得更加方便和高效。使用这些插件,可以获得更好的代码编辑、调试和开发体验。

解决步骤

  1. cargo new hello-rust 创建一个测试项目
  2. 执行cargo run 测试执行没有问题
  3. F5执行调试,这时候会提示添加lanuch.json文件
{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "(linux) Launch",
           "type": "lldb",
           "request": "launch",
           "program": "${workspaceFolder}/target/debug/hello-rust",
           "args": [],
           "cwd": "${workspaceFolder}",
       }
   ]
}
  1. 上面是linux系统的lanuch.json配置,如果是windows参考下面这个,我只测试了linux,windows仅供参考
{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "(Windows) Launch",
           "type": "cppvsdbg",
           "request": "launch",
           "program": "${workspaceFolder}/target/debug/hello-rust",
           "args": [],
           "stopAtEntry": false,
           "cwd": "${workspaceFolder}",
           "environment": [],
           "externalConsole": true
       }
   ]
}

lanuch.json参数解释

  1. “version”: “0.2.0”:

    • 指定了 launch.json 文件的版本。当前版本为 0.2.0,对应 Visual Studio Code 的调试配置版本。
  2. “configurations”:

    • 是一个数组,包含了一个或多个调试配置。每个配置都定义了一个调试场景。
  3. “name”: “(linux) Launch”:

    • 给这个调试配置起一个名称。在 VSCode 中,你可以选择使用这个名称来选择不同的调试配置。
  4. “type”: “lldb”:

    • 指定了调试器的类型,这里是 LLDB。LLDB 是一个调试器,用于在命令行和 IDE 中进行调试。
  5. “request”: “launch”:

    • 指定了调试的请求类型,这里是 “launch”,表示启动一个新的调试会话。
  6. “program”: “${workspaceFolder}/target/debug/hello-rust”:

    • 指定了要调试的程序的路径。${workspaceFolder} 是工作区的根目录,target/debug/hello-rust 是 Rust 项目生成的可执行文件的相对路径。
  7. “args”: []:

    • 传递给被调试程序的命令行参数。在这个配置中,没有传递额外的参数。
  8. “cwd”: “${workspaceFolder}”:

    • 指定了当前工作目录(Current Working Directory),即调试器在运行程序时的起始目录。${workspaceFolder} 表示工作区的根目录。

总的来说,这个配置的作用是告诉 Visual Studio Code 使用 LLDB 调试器,在指定的路径运行 Rust 项目的可执行文件,并且在工作区的根目录中进行调试。这是一个基本的配置,可以根据具体的项目结构和需求进行调整。

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