当前位置: 首页 > article >正文

Rust初踩坑

一、下载

到官网https://www.rust-lang.org/zh-CN/tools/install下载你需要的版本

在这里插入图片描述

二、安装

执行rustup-init 文件,选择1

在这里插入图片描述
按提示直到安装完成

可以通过以下命令测试:

rustc -V        # 注意的大写的 V
cargo -V      # 注意的大写的 V

在这里插入图片描述

三、在VScode中调试

创建.vscode文件夹,目录结构如下
在这里插入图片描述

并依次创建tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "build",
			"type": "shell",
			"command": "cargo",
			"args": [
				"build"
			]
		}
	]
}

和launch.json

{
	"version": "0.2.0",
	"configurations": [
		{
			"name": "(Windows)启动",
			"preLaunchTask": "build",
			"type": "cppvsdbg",
			"request": "launch",
			"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
			"args": [],
			"stopAtEntry": false,
			"cwd": "${workspaceFolder}",
			"environment": [],
			"externalConsole": false
		},
		{
			"name": "(gdb)启动",
			"type": "cppdbg",
			"request": "launch",
			"program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",
			"args": [],
			"stopAtEntry": false,
			"cwd": "${workspaceFolder}",
			"environment": [],
			"externalConsole": false,
			"MIMode": "gdb",
			"miDebuggerPath": "C:\\Program Files\\MinGW-w64\\bin\\gdb.exe",
			"setupCommands": [
				{
					"description": "为gdb启用整齐打印",
					"text": "-enable-pretty-printing",
					"ignoreFailures": true
				}
			]
		}
	]
}

正常返回src下的main.rs,写入以下代码

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

然后点击 VSCode 左栏的 "运行"或者在main.rs中按F5。
在这里插入图片描述

3.1 (Windows) 启动

如果你使用的是 MSVC 选择 “(Windows) 启动”,它会跳到终端显示执行情况
在这里插入图片描述
要手动切换到调试控制台看结果
在这里插入图片描述
打断点有效
在这里插入图片描述
如果弹出cppvsdbg不受支持,请先安装以下扩展
在这里插入图片描述
修改代码后,执行此调试方式,会重新构建,代码生效

3.2 (gdb) 启动

如果使用的是 MinGW 且安装了 GDB 选择"(gdb)启动",gdb 启动前请注意填写 launch.json 中的 “miDebuggerPath”。
在这里插入图片描述
先下载MinGW64 8.1 (https://www.onlinedown.net/soft/10045442.htm)到电脑上,解压后路径填到launch.json 中的miDebuggerPath。

按F5后,直接在终端看结果。

在这里插入图片描述
打断点无效
在这里插入图片描述

修改代码后,执行此调试方式,不会重新构建,代码不生效


http://www.kler.cn/news/365517.html

相关文章:

  • 微服务网关Zuul
  • 庐阳区2023年信息学竞赛试题
  • self-supervised learning(BERT和GPT)
  • C语言_通讯录_进阶
  • 【记录】VSCode|自用设置项
  • CSS3 动画相关属性实例大全(三)(columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性)
  • 【HarmonyOS Next】原生沉浸式界面
  • E43.【C语言】练习:传值调用和传址调用混淆点解释
  • 计算机网络:数据链路层 —— 虚拟局域网 VLAN
  • 136.只出现一次的数字
  • 万字图文实战:从0到1构建 UniApp + Vue3 + TypeScript 移动端跨平台开源脚手架
  • EfficientNet,EfficientNetV2
  • 微服务之Sentinel概念介绍及项目实战代码
  • 基于vue框架的的高校消防设施管理系统06y99(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • ChatGPT的模型训练入门级使用教程
  • 首届The VRAnimation Award 震撼启幕!VsoCloud独家赞助此次大赛!
  • CSSfilter实现磨砂效果
  • Java安卓开发——疑难解答篇(第九期)
  • PSINS工具箱函数介绍——inserrplot
  • Java项目实战II基于微信小程序的智慧旅游平台(开发文档+数据库+源码)
  • 手机玩使命召唤21:黑色行动6?GameViewer远程玩使命召唤教程
  • phy初始化
  • 孤岛架构与微服务架构区别
  • 搜维尔科技:视觉映射灵巧手,五指灵巧手解决方案
  • Win/Mac/Android/iOS怎麼刪除代理設置?
  • #渗透测试#安全见闻7 硬件设备的网络安全问题与潜在漏洞分析