windows下rust调试运行环境部署

news2024/9/22 15:42:48

1,rust编译环境安装

    在联网环境下,建议使用rustup-init.exe程序安装(本文使用的改模式)

    选择1“默认"进行安装,默认安装x86_64-pc-windows-msvc

    在安装完成后,后续为了配置gbd调试,也安装上x86_64-pc-windows-gnu

    命令如下:

    rustup default stable-x86_64-pc-windows-gnu

    rustup toolchain install stable-x86_64-pc-windows-gnu

2,vs code环境配置

    第一步:先安装vs code,本文下载最新的版本VSCodeUserSetup-x64-1.84.2.exe

    第二步:安装完成后,下载相应的插件

    c/c++插件必须要安装,不然在配置调试运行时会找不到对应的(cppvsdbg)和(cppdbg)

    其他比较重要的插件如: rust-analyzer,Rust syntax,Native debug;这些自己看着装

3,配置运行rust程序

    命令行进入自己的rust目录,然后生成第一个rust程序:

    cd d:\rust(路径依据自己工程目录来)

    cargo new learn

    cargo build

    在vs code中配置运行环境:

    首先构建配置文件配置:

     我们选择rust: cargo build,这个时候会让我们配置tasks.json配置文件,我们配置内容如下:

{

    "version": "2.0.0",

    "tasks": [

       {

            "label": "build",

            "type": "shell",

            "command": "cargo",

            "args": ["build"]

        }

    ]

}

    接着我们配置运行环境: 

    我们在运行调试中,打开launch.json配置文件。

    配置文件中我们配置两个选项:C/C++:(Windows)启动和C/C++:(gdb)启动

    具体配置信息如下:

{

    // 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": [

       

       

        {

            "name": "(gdb) 启动",

            "type": "cppdbg",

            "request": "launch",

            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${fileDirname}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            "miDebuggerPath": "/path/to/gdb",

            "setupCommands": [

                {

                    "description": "为 gdb 启用整齐打印",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true

                },

                {

                    "description": "将反汇编风格设置为 Intel",

                    "text": "-gdb-set disassembly-flavor intel",

                    "ignoreFailures": true

                }

            ]

        },

       

       

   

        {

            "type": "cppvsdbg",

            "preLaunchTask": "build",

            "request": "launch",

            "name": "windows run",

            "program": "${workspaceFolder}/target/debug/${workspaceFolderBasename}.exe",

            "args": [],

            "cwd": "${workspaceRoot}",

            "stopAtEntry": false,

            "environment": [],

            "externalConsole": false

        }

    ]

}

     至此,vs code的rust运行环境windows配置完成,我们运行下程序,结果如图:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第四代智能井盖传感器,实时守护井盖位安全

城市管理中井盖的安全问题始终是一个不容忽视的方面。传统的巡检方式不仅效率低下,无法实现实时监测,而且很难准确掌握井盖的异动状态。因此智能井盖传感器的应用具有重要意义。这种智能传感器可以帮助政府实时掌握井盖的状态,一旦发现异常情…

#gStore-weekly | gBuilder功能详解之表单录入

gBuilder除了可以提供结构化数据映射以及非结构化数据抽取两种构建知识图谱的方式以外,还提供了表单录入的方式来构建知识图谱的数据,用户只需要根据设计好的schema将实体、属性以及关系通过填写表单的形式录入,再通过一键生成NT文件即可获得…

【Redis】渐进式遍历数据库管理

文章目录 渐进式遍历scan 数据库管理切换数据库清除数据库 获取当前数据库key的个数 渐进式遍历 Redis使⽤scan命令进⾏渐进式遍历键,进⽽解决直接使⽤keys获取键时能出现的阻塞问题。每次scan命令的时间复杂度是O(1),但是要完整地完成所有键的遍历&…

万户OA upload任意文件上传漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息…

pikach靶场暴力破解

pikach靶场暴力破解 文章目录 pikach靶场暴力破解安装pikach靶场暴力破解第一关第二关第三关第四关 安装pikach靶场 进入github下载pikach的源码 不是linux推荐下载压缩包 下载完成后放入phpstudy中进行解压放入www网站根目录下 在数据库中新建数据库为pikachu create data…

【C++】标准模板库 STL 简介

🧑‍🎓个人主页:简 料 🏆所属专栏:C 🏆个人社区:越努力越幸运社区 🏆简 介:简料简料,简单有料~在校大学生一枚,专注C/C/GO的干货分…

7 进制数字转换

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/base-7/description/ 给定一个整…

人工智能:生活的新魔术师

目录 ​编辑 人工智能对我们的生活影响有多大 人工智能的应用领域 一、机器学习与深度学习 二、计算机视觉 三、自然语言处理 四、机器人技术 五、智能推荐系统 六、智能城市和智能家居 ​编辑 自己对人工智能的应用 自己的人工智能看法:以ChatGPT为例 …

薄膜和涂层中应力产生和松弛的机理

引言 由于薄膜和涂层在微电子学、光学、生物技术、微机械、航空航天和工具工业等领域的广泛应用,薄膜和涂层的应力诱发失效现象是一个非常重要的问题。薄膜开裂和剥落可能是由拉伸应力引起的,而屈曲和分层是由压缩应力的松弛引起的。应力产生和松弛的竞…

【用unity实现100个游戏之16】Unity程序化生成随机2D地牢游戏1(附项目源码)

文章目录 先看看最终效果前言随机游走算法使用随机游走算法添加地板瓦片1. 新增TilemapVisualizer,用于可视化地图2. 瓦片素材 不运行执行程序化生成地牢方法1. 先简单重构代码2. 新增Editor脚本RandomDungeonGeneratorEditor 将参数保存到可编辑脚本对象&#xff0…

微信搜一搜有什么意想不到的功能?

其实我们每天都在用的微信,还有很多你意想不到的功能,像是一些每天我们都会看到,但是却不常使用的功能。 “搜一搜”这个功能,其实它已经上线很久了,它不仅是一个搜索入口,还是非常强大的聚合性服务。 生僻…

Navicat DML 操作

在表格种插入 列信息 -- 修改数据 update 表名 set 列名 值1, 列名值2,[where 条件]; -- 注意:如果update语句没有加where 表里对应行的全部信息都会被改; -- 删除数据 delecte from 表名 [where 条件]; 未删除前: 执行删除后为: DQL - 条…

OSCP系列靶场-Esay-DC-1

目录 总结 准备工作 信息收集-端口扫描 目标开放端口收集 目标端口对应服务探测 信息收集-端口测试 22-SSH端口的信息收集 22-SSH端口版本信息与MSF利用(pass) 22-SSH手动登录尝试(失败) 22-SSH弱口令爆破(爆破着玩) 80-HTTP端口的信息收集 信息收集-网站指纹 漏洞…

pikachu靶场-暴力破解攻略

pikachu暴力破解 基于表单的暴力破解 抓包发送到intruder 添加两个变量 下图攻击模式需要选择cluster bomb 用户名处添加几个常见的用户名 密码处则添加密码字典 如图可见有一条密码已经爆出 登录成功 验证码绕过(on server) 输入验证码后提交 抓包 然后发送到repeater先…

【前端学java】java中的日期操作(12)

往期回顾: 【前端学java】JAVA开发的依赖安装与环境配置 (0)【前端学 java】java的基础语法(1)【前端学java】JAVA中的packge与import(2)【前端学java】面向对象编程基础-类的使用 &#xff08…

蓝桥杯每日一题2023.11.20

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 方法一&#xff1a;暴力枚举&#xff0c;如果说数字不在正确的位置上也就意味着这个数必须要改变&#xff0c;进行改变记录即可 #include<bits/stdc.h> using namespace std; const int N 2e5 10; int n, a[N], …

江苏专转本考试时,遇到不会的题目该怎么办呢??

有很多同学最近在问&#xff0c;如果专转本考试时遇到 不会的题目怎么办&#xff1f;&#xff1f; 考场上题目太陌生没见过会不会凉凉 以学姐自身经验分享&#xff0c;其实未必会凉凉&#xff0c;当时我在16届计算机考试时&#xff0c;遇上了填空题新题型&#xff0c;当时在考…

微服务学习|Gateway网关:网关作用、快速入门、路由断言工厂、路由过滤器配置、全局过滤器、过滤器执行顺序、跨域问题处理

为什么需要网关 网关功能: 1.身份认证和权限校验 2.服务路由、负载均衡 3.请求限流 网关的技术实现 在SpringCloud中网关的实现包括两种:gateway、zuul Zuul是基于Servlet的实现&#xff0c;属于阻塞式编程。而SprinaCloudGateway则是基于Spring5中提供的WebFlux&#xf…

three.js实现管道漫游

先看效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div class"box-right"><pre s…

【LeetCode】104. 二叉树的最大深度

104. 二叉树的最大深度 难度&#xff1a;简单 题目 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 …