首页 > 编程语言 >如何在vscode中对rust程序进行debug?

如何在vscode中对rust程序进行debug?

时间:2025-01-22 11:45:51浏览次数:1  
标签:cargo rust vscode watch VSCode 调试 debug 安装 Rust

UUUUUUUUUUUUUUUUU

在 VSCode 中调试 Rust 程序,你可以使用 CodeLLDB 扩展,它与 VSCode 配合很好,支持 Rust 项目的调试。以下是一步步的设置和使用说明:

步骤 1: 安装 VSCode 扩展

  1. 打开 VSCode。

  2. 打开扩展市场(侧边栏点击扩展图标,或者快捷键 Ctrl+Shift+X)。

  3. 搜索并安装 CodeLLDB 扩展。这个扩展提供了 Rust 和其他语言的调试支持。

    扩展名称CodeLLDB

    • 安装完成后,你的 VSCode 就具备了调试功能。

步骤 2: 安装 Rust 调试工具

  1. 确保你已经安装了 Rust 工具链。你可以通过运行以下命令来检查:
    rustc --version
    
  2. 安装调试器 lldb。如果你使用的是 macOS,可以通过 Homebrew 安装:
    brew install llvm
    
    如果你使用的是 Linux,可以安装 lldb
    sudo apt install lldb
    

步骤 3: 配置调试环境

  1. 在 VSCode 中打开你的 Rust 项目。

  2. 打开调试视图(侧边栏点击调试图标,或者快捷键 Ctrl+Shift+D)。

  3. 点击 "create a launch.json file" 来创建调试配置文件。选择 LLDB 作为环境。

  4. 配置 launch.json 文件:

    • launch.json 中添加 Rust 调试配置。下面是一个基本的配置:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Debug Rust Program",
                "type": "lldb",
                "request": "launch",
                "program": "${workspaceFolder}/target/debug/your_program_name",  // 替换为你的程序名称
                "args": [],
                "cwd": "${workspaceFolder}",
                "preLaunchTask": "cargo build",  // 确保在调试前构建程序
                "stopAtEntry": false,
                "runInTerminal": true
            }
        ]
    }
    
    • "program":指定可执行程序的位置,通常是在 target/debug/ 目录下。
    • "preLaunchTask":确保在启动调试之前,先运行 cargo build 来构建你的程序。

步骤 4: 添加调试断点

  1. 打开你想调试的 Rust 代码文件。
  2. 点击代码行号旁边的空白处,设置断点。调试时,程序会在这些断点处暂停。

步骤 5: 启动调试

  1. F5 或者点击调试视图中的绿色播放按钮,开始调试程序。
  2. 程序将在设置的断点处暂停,调试控制台会显示程序的输出。
  3. 使用调试工具条中的按钮进行调试操作,如单步调试、继续执行等。

步骤 6: 调试功能

  • 查看变量:在调试时,可以查看当前作用域内的变量值。
  • 单步执行:你可以通过 Step Over, Step Into, Step Out 等功能单步执行代码。
  • 调试控制台:在控制台中查看调试输出,并能够执行一些表达式进行调试。

可选步骤:使用 cargo-watch 自动构建

如果你希望在调试过程中自动构建 Rust 项目,可以使用 cargo-watch

  1. 安装 cargo-watch
    cargo install cargo-watch
    
  2. 在 VSCode 中创建一个任务,自动运行 cargo watch
    • 打开 .vscode/tasks.json 文件,添加以下任务:
    {
        "label": "cargo watch",
        "type": "shell",
        "command": "cargo watch -x run",
        "problemMatcher": []
    }
    
    • 这样,当你进行调试时,cargo-watch 会自动构建并运行你的程序。

总结

  • 安装 CodeLLDB 扩展。
  • 确保 Rust 和 lldb 已安装。
  • 配置 launch.json 文件来设置调试选项。
  • 设置断点,启动调试,使用调试控制台进行代码调试。

这样,你就可以在 VSCode 中调试 Rust 程序了!

标签:cargo,rust,vscode,watch,VSCode,调试,debug,安装,Rust
From: https://www.cnblogs.com/Tifahfyf/p/18685410

相关文章

  • 蓝易云 - NGINX开启debug日志的方法
    要开启NGINX的debug日志,您需要编辑NGINX的配置文件,按照以下步骤进行设置:1.找到NGINX配置文件通常NGINX的配置文件位于 /etc/nginx/nginx.conf或者 /etc/nginx/conf.d/目录下,具体位置可能因安装方式和操作系统而异。2.编辑NGINX配置文件使用文本编辑器打开NGINX的配置文......
  • 折腾笔记[8]-使用rust去除灰度图的畸变
    摘要使用rust的image库,实现去畸变算法从而去除灰度图的畸变.UsetheimagelibraryofRust;manuallyimplementthedistortionremovalmethodtoremovethedistortionofthegrayscaleimage.关键词rust;image;关键信息[package]name="exp65-rust-ziglang-slambo......
  • python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
    本文原文链接文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完......
  • 05-rust结构体-struct
    在Rust中,结构体(struct)是定义数据类型和管理复杂数据的核心工具,类似于其他语言中的类,但它不支持内置继承。Rust提供了三种基本的结构体形式:常规结构体(regularstruct)、元组结构体(tuplestruct)和单元结构体(unitstruct)。下面详细讲解:1.常规结构体(RegularStruct)常规结构体是......
  • rust学习-函数的定义与使用
    rust学习-函数的定义与使用1.函数的基本定义2.函数的参数多个参数3.返回值提前返回4.函数调用5.函数的所有权和借用传递所有权借用6.函数作为参数和返回值函数作为参数函数作为返回值7.泛型函数8.函数注释(文档注释)1.函数的基本定义在Rust中,函数使用fn......
  • Silicon Labs C8051F020 单片机 USB Debug Adapter适配器调试无法连接问题
    在做单片机大作业,使用Keil,使用USB连接开发板。想要进入到调试或烧录功能时总是报错:CannotconnecttotheselectedUSBdebugadapterToolStickbaseadapter.Pleasecheckthatthedeviceispluggedinandnotalreadyinuse如图:首先按照老师发的教程逐个复查,排除了驱......
  • [rustGUI][iced]基于rust的GUI库iced(0.13)的部件学习(05):svg图片转为png格式(暨svg部件的
    前言本文是关于iced库的部件介绍,iced库是基于rust的GUI库,作者自述是受Elm启发。iced目前的版本是0.13.1,相较于此前的0.12版本,有较大改动。本合集是基于新版本的关于分部件(widget)的使用介绍,包括源代码介绍、实例使用等。环境配置系统:window10平台:visualstudiocode语言:rust......
  • 2025年编程语言热度分析:Python领跑,Go与Rust崛起
    TIOBEIndex(TIOBE编程语言指数)是一个衡量编程语言流行度的排名系统。它通过分析多种搜索引擎、在线编程社区、技术论坛、问答网站(如Google、Bing、Yahoo、Wikipedia、StackOverflow)等的搜索和讨论数据,评估不同编程语言的受欢迎程度。TIOBEIndex每月更新一次,并根据多个因......
  • 折腾笔记[6]-使用rust绘制三维画面
    摘要使用rust绘制界面;界面包含一个三维坐标轴,使用鼠标旋转坐标轴,左侧显示对应的旋转向量,四元数等信息.UseRusttodrawtheinterface;theinterfacecontainsathree-dimensionalcoordinateaxis,whichcanberotatedusingthemouse,andthecorrespondingrotati......
  • Markdown VScode的原文本
    #Markdownvscode教学##一.准备工作1.安装VScode2.下载必要插件  MarkdownAllinOne  MarkdownPreviewEnhanced  MarkdownPDF  Markdownimage3.创建.md文档,打开同步预览,并开始编辑##二.基础语法1.**标题**  #一级标题  #+空格+......