RUST入门:如何用vscode调试rust程序

RUST已经流行一阵子了,但是比较系统的IDE介绍还是比较少,这里我简单介绍 一下如何用vscode实现单步调试rust程序,就像我们平时调试c++程序一样。

学习资料网站

首先,介绍几个学习rust的好网站,

  • Rust程序设计语言
  • Rust语言圣经(Rust Course)
  • Rust 官方文档中文教程
  • Rust语言中文社区
  • 跟Google学Rust
  • 官网 Learn Rust
  • The Rust Programming Language
  • The Rust Programming Language (interactive learning experience)
  • rustlings
  • 跟例子学Rust
  • Rust标准库
  • Rust 版本指南
  • Cargo详解
  • Rust编译器介绍
  • Rust编译器报错说明手册
  • Rust 完全手册
  • Rust 'nomicon - unsafe黑暗魔法卷轴

给vscode安装一些必要的插件

本人安装的插件包括

Even Better TOML

CodeLLDB

Rust analyzer

Tabnine

插件的功用直接到vscode里看介绍就可以了。

创建程序并开始调试

打开vscode,然后通过terminal->new terminal打开一个终端,

在终端输入

>> cargo new test001

创建一个rust项目,这里test001是我们的项目名称。

然后,用vscode打开这个文件夹,就可以看到项目中有一个src/main.rs文件,里面的代码是

fn main() {println!("Hello, world!");
}

在这一句打上断点。

然后,点击左侧的Run and Debug (Ctrl+Shift+D) 按钮,然后,会弹出一个大按钮,下面有一行小字:

Create a launch.json file

点击这行小字,vscode就会自动为你创建一个.vscode/launch.json文件,其内容如下,

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "lldb","request": "launch","name": "Debug executable 'test001'","cargo": {"args": ["build","--bin=test001","--package=test001"],"filter": {"name": "test001","kind": "bin"}},"args": [],"cwd": "${workspaceFolder}"},{"type": "lldb","request": "launch","name": "Debug unit tests in executable 'test001'","cargo": {"args": ["test","--no-run","--bin=test001","--package=test001"],"filter": {"name": "test001","kind": "bin"}},"args": [],"cwd": "${workspaceFolder}"}]
}

然后,你就可以单步运行调试程序了。

当然,launch.json根据你的需要编写即可,例如,假设你有一个项目名称是example,那你可以这样写,

因为这里不打算过多介绍这个launch.json文件,所以只是稍作讲解。

视频如下,

如何用vsCode实现单步调试Rust

本文结束。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472427.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FPGA开发】HDMI通信协议解析及FPGA实现

本篇文章包含的内容 一、HDMI简介1.1 HDMI引脚解析1.2 HDMI工作原理1.3 DVI编码1.4 TMDS编码 二、并串转换、单端差分转换原语2.1 原语简介2.2 IO端口组件 笔者在这里使用的开发板是正点原子的达芬奇开发板,FPGA型号为XC7A35TFGG484-2。参考的课程是正点原子的课程手…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——数据库

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 4. 数据库 1. B树相对于B树的区别及优势 B树中有重复元素,B树没有重复元素B树种每个节点都存储了key和data,B树内节点去掉了其中指向数…

macOS 安装 conda

macOS 安装 conda 安装 conda参考 Conda是一个开源的软件包管理系统和环境管理系统,用于安装和管理软件包和其依赖项。 安装 conda mkdir miniconda3 cd miniconda3 bash Miniconda3-latest-MacOSX-x86_64.sh$ conda list参考 macOS 安装 conda开始使用conda

stl~string

迭代器 typedef char* iterator;typedef const char* const_iterator;iterator begin(){return _str;}iterator end(){return _str _size;}const_iterator begin() const//左值const{return _str;}const_iterator end() const{return _str _size;} for(auto e : …

2024.2.16日总结(小程序开发8)

数据监听器 监听对象属性的变化 数据监听器支持监听对象中单个或多个属性的变化 纯数据字段 什么是纯数据字段 纯数据字段指的是哪些不用于页面渲染的data字段 应用场景:例如有些情况下,某些 data 中的字段既不会展示在界面上,也不会传递给其他组件…

[计算机提升] 备份系统:设置还原点

6.7 备份系统:设置还原点 在Windows系统中,系统还原点是指系统在特定时间存储的重要系统文件的备份。通过创建系统还原点,可以轻松地将系统恢复到之前创建还原点的状态。这有助于解决系统文件损坏或Windows操作系统出现问题的情况。 1、右键…

SpringBoot RabbitMQ收发消息、配置及原理

今天分析SpringBoot通过自动配置集成RabbitMQ的原理以及使用。 AMQP概念 RabbitMQ是基于AMQP协议的message broker,所以我们首先要对AMQP做一个简单的了解。 AMQP (Advanced Message Queuing Protocol) is a messaging protocol that enables conforming client a…

云计算基础-大页内存

大页内存功能概述 什么是大页内存 简单来说,就是通过增大操作系统页的大小来减小页表,从而避免快表缺失 主要应用场景 主要运用于内存密集型业务的虚拟机,比如对于运行数据库系统的虚拟机,采用HugePages(大页)后,可…

系统可靠性分析与设计

一、考点分析 可靠性相关基本概念(※※)系统可靠性分析(※※※※)软件可靠性设计(※※※※) 二、可靠性相关基本概念 可靠性:软件系统在应用或系统错误面前,在意外或错误使用的情况下…

【计算机网络】网际协议——互联网中的转发和编址

编址和转发是IP协议的重要组件 就像这个图所示,网络层有三个主要组件:IP协议,ICMP协议,路由选择协议IPV4 没有选项的时候是20字节 版本(号):4比特:规定了IP协议是4还是6首部长度&am…

【c++】list详细讲解

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟悉list库 > 毒鸡汤:你的脸上云淡…

Atcoder ABC339 E - Smooth Subsequence

Smooth Subsequence(光滑的子序列) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【…