【Vscode】调试DotNet Core代码

Visual Studio作为宇宙第一的IDE,开发调试.net core app,无一能出其右,我们还需要去了解Visual Studio Code吗?答案是肯定。

  • 杀鸡焉用牛刀:就一个hello world的Console App,还需要打开Visual Studio吗?

  • 画地为牢:如果开发环境换成Ubuntu或Centos等任意一个Linux发行版,调试怎么办?

  • 兵贵神速:马上就要开始调试一个已有app,但是调试环境没有Visual Studio,安装是不是特别费时?甚至不支持Visual Studio,怎么办?

那么Visual Studio Code的小而美的优势就会体现出来。

1.安装Visual Studio Code

纯属混字数的,扔一个链接https://code.visualstudio.com/,下载去吧,

  • windows下就是傻瓜式下一步下一步。

  • 红帽系linux

    • https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions

  • debian或者ubuntu

    • https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions

  • MacOS

    • https://code.visualstudio.com/docs/setup/mac

2.安装.net core sdk

同样是扔一个链接https://dotnet.microsoft.com/download,页面选项卡,有4种环境

  • Windows

  • Linux

  • MacOS

  • Docker

按需选择吧

3.编码

略过

4.调试配置

假设你已经编码完成,

F5开始调试->Select Envoriment->.net core

4.1 生成并修改launch.json

然后就会创建.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": [{"name": ".NET Core Launch (web)","type": "coreclr","request": "launch","preLaunchTask": "build","program": "${workspaceFolder}/Vmware.Sphere.Api/bin/Debug/netcoreapp3.1/properties/netcoreapp3.1/Vmware.Sphere.Api.dll","args": [],"cwd": "${workspaceFolder}/Vmware.Sphere.Api","stopAtEntry": false,"serverReadyAction": {"action": "openExternally","pattern": "\\bNow listening on:\\s+(https?://\\S+)"},"env": {"ASPNETCORE_ENVIRONMENT": "Development"},"sourceFileMap": {"/Views": "${workspaceFolder}/Views"}},{"name": ".NET Core Attach","type": "coreclr","request": "attach","processId": "${command:pickProcess}"}]
}
  • program:调试的dll路径

  • cwd:正在调试的程序的工作目录的路径。默认是当前工作区

其他属性,还想知道具体作用,鼠标悬停在launch.json的某一个属性上,就可以了解,并根据实际情况进行修改。

4.2 生成task.json

F5->Could not find the task 'build'->Configure Task->Select a task to configure->Create  task.json file from temple->.Net Core

就会继续在.vscode下创建task.json

{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "build","command": "dotnet","type": "shell","args": ["build",// Ask dotnet build to generate full paths for file names."/property:GenerateFullPaths=true",// Do not generate summary otherwise it leads to duplicate errors in Problems panel"/consoleloggerparameters:NoSummary"],"group": "build","presentation": {"reveal": "silent"},"problemMatcher": "$msCompile"}]
}
  • preLaunchTask:"build",Task to run before debug session starts.在启动调试会话之前运行的任务,说白了,就是调试之前,总得构建生成吧。然后就会触发task中lable名为build的构建任务

    • command+args=dotnet build ...

5.调试快捷键

  • Continue / Pause F5

  • Step Over F10

  • Step Into F11

  • Step Out Shift+F11

  • Restart Ctrl+Shift+F5

  • Stop Shift+F5

  • Run (Start Without Debugging) action is triggered with Ctrl+F5

现在就可以正常调试了

  • 断点

  • 日志断点

  • 变量监控

  • 等等

参考链接

https://code.visualstudio.com/docs/editor/debugging#_launch-configurations

长按二维码关注

点外卖,先领券

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

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

相关文章

pandownload 卢本伟_PanDownload复活了!60MB/s!附下载地址

最近几天,听说PanDownload 复活了有人接盘了,重新制作上线推出了更加强劲的复活版!但是笔者去下载了一下,发现并不能使用于是经过百般搜寻,发现被人提供的已经是旧版了于是,我找到了最新版,9月2…

linux安装rz命令_Linux 安装dep安装包命令

rootlsy-ubuntu:~# dpkg -i sublime-text_build-3126_amd64.deb 正在选中未选择的软件包 sublime-text。(正在读取数据库 ... 系统当前共安装有 256092 个文件和目录。)正准备解包 sublime-text_build-3126_amd64.deb ...正在解包 sublime-text (3126) ...正在设置 sublime-tex…

Excel分列功能的妙用

我们用left函数可以将姓名中的姓和名分开了,说实话,这个方法比较笨,因为EXCEL中提供了分列功能。 我们可以看下面这个例子,原始数据中含有编号,而且随着行数的增加,编号位数也在增加,这时就不能…

IdentityServer4之Implicit和纯前端好像很配哦

前言上一篇Resource Owner Password Credentials模式虽然有用户参与,但对于非信任的第三方的来说,使用这种模式是有风险的,所以相对用的不多;这里接着说说implicit隐式模式,这种模式比较适合于纯前端客户端&#xff0c…

docker 安装kafka_laradock 中如何安装 Laravel Dusk

laradock 中如何安装 Laravel Dusk?导语在本地安装 Laravel Dusk 一直失败,查了文档才发现在 laradock 中并不是只需要 composer require 就可以的,还有其他配置。下面记录一下。配置 laradock1.切换到 laradock 目录中,将 worksp…

.NET 中依赖注入组件 Autofac 的性能漫聊

Autofac 是一款超赞的 .NET IoC 容器 ,在众多性能测评中,它也是表现最优秀的一个。它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改。它的实现方式是将常规的.net类当做 组件 处理。简单的性能测试在 LINQPad 中&…

c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错

extern 变量称为外部存储变量。extern声明了程序中将要用到但尚未定义的外部变量。本次错误的解决方法同样适用于外部函数。外部函数就是可以被其他源文件调用的函数,定义外部函数时使用extern进行修饰。首先,分别创建两个源文件“ex1.c”和“ex2.c”。其…

盘点大厂的那些开源项目 - 华为

HarmonyOS鸿蒙系统(HarmonyOS),是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的鸿蒙OS。鸿蒙 OS 底层由鸿…

ubuntu mysql怎么备份_Ubuntu下MySQL备份与异地备份

下面是一则MySQL备份实例,在Ubuntu下测试通过。完成任务是本地备份。可用于服务器端。#! /bin/bashecho "backupmysql V1.0"###date stamp###datestamp$(date %Y-%m-%d)###path ###startdir/home/user/mysqlbackup###bakfile prefix###fileprefixsqlecho …

java 位运算_java学习之运算符与表达式(四)

(6)位运算符位运算是指对整数按二进制的位进行运算。位运算用于整数或字符类型。有7个&#xff1a;~(非)、&(与)、&#xff5c;(或)、^(异或)、<>(右移)、>>>(无符号右移)。例&#xff1a;以byte类型4为例。byte类型占用1个字节。4的二进制为&#xff1a;00…

【Http】一文备忘Http状态码(406,415,422)

最近在调试接口时&#xff0c;web api 报了一个415状态码。好久没见到这个状态码&#xff0c;一时还真不知道啥情况。所以&#xff0c;人的大脑是有遗忘规律的&#xff0c;为了加深印象&#xff0c;所以我觉得我有必要再复习一下。1.HTTP的状态码 首先复习一下所有的状态码。1x…

infor wms 项目启动_广汽本田增城工厂No.2L WMS项目正式启动

Warehouse导读&#xff1a;近日&#xff0c;在生管科No.2L办公室&#xff0c;广汽本田增城工厂No.2L WMS项目启动大会如期召开。生产管理科&#xff0c;IT科&#xff0c;FNL以及汉得信息有限公司的WMS项目组成员参加了本次启动大会。Management2018年10月&#xff0c;生管科已经…

mysql动态扩展_动态可扩展查询MYSQL5.7JSON+虚拟列+Mybatis

背景&#xff1a;现有业务扩展字段&#xff0c;都存在feature字段&#xff0c;存在语义不清晰以及&#xff0c;难以利用索引查询问题Mysql 5.7后推出利器&#xff0c;JSON虚拟列&#xff0c;即实现了业务语义统一&#xff0c;也支持索引查询加速一、简单描述MySQL 5.7.7 labs版…

asp.net core安全事项(中)

上传文件上传文件是造成风险的很大因素&#xff0c;所以对上传文件进行处理是重要的&#xff0c;首先要处理的是&#xff1a;a、上传文件大小限制&#xff1b;b、上传文件类型(能过扩展或&#xff0c;或文件头)限制&#xff1b;c、上传的名称要替换掉&#xff1b;d、上传的文件…

http referer 验证防御方法_渗透测试 跨站攻击防御与安全检测手法剖析

上一节讲到了渗透测试中xss跨站攻击检测方法和防护,这一节也是关于跨站攻击的另一个手法CSRF&#xff0c;很多客户找到我们想要了解更多的跨站攻击检测方法以及防御此类攻击的办法,想要让网站的安全性更加坚固,对此提醒大家渗透测试网站必须要拿到授权才能测试哦&#xff01;3.…

如何手动连上mysql_如何手动安装MySql

想安装当然要先有一个MySql的安装包 这里使用的是mysql-5.7.12-winx64安装包百度云&#xff1a;http://pan.baidu.com/s/1kVAuXuv       密码&#xff1a;hr391.要将压缩包解压到你的指定位置(最好将要用的工具文件分类放好)例如&#xff1a;D:javaAppmysql-5.7.12-winx6…

WebRTC成为W3C和IETF正式标准

喜欢就关注我们吧&#xff01;2021年1月26日&#xff0c;W3C&#xff08;万维网联盟&#xff09;和 IETF &#xff08;互联网工程任务组&#xff09;同时宣布 WebRTC&#xff08;Web Real-Time Communications&#xff0c;Web 实时通信&#xff09;现发布为正式标准&#xff0c…

mysql非安装_mysql 非安装版的配置

一直以来都是使用wamp中集成的mysql数据库&#xff0c;今天突然想试试下载一个mysql的zip包进行配置。一、下载mysql非安装版下载地址可以到&#xff1a;http://dev.mysql.com/downloads/mysql/ &#xff0c;或者直接点击下载mysql-32bit&#xff1a;http://cdn.mysql.com/Down…

Xamarin.Forms: 无限滚动的ListView(懒加载方式)

说明 在本博客中&#xff0c;学习如何在Xamarin.Forms应用程序中设计一个可扩展的无限滚动的ListView。这个无限滚动函数在默认的Xamarin.Forms不存在&#xff0c;因此我们需要为此添加插件。在这里我们需要知道无限滚动时如何工作的。首先&#xff0c;显示固定的数据。一旦用户…

javaweb应用开发与实践pdf_基于阿里云打造「云原生」Web应用——「懒猪行」Web应用开发实践...

作者&#xff1a;阿里云MVP 刘远程背景『懒猪行』专注于境外自由行S2B业务&#xff0c;涉及分销、终端用户服务、供应链等多个服务环节&#xff0c;随着业务规模的不端增加&#xff0c;我们一直在探索Web应用开发的最佳实践&#xff0c;以加快Web应用的迭代效率&#xff0c;为B…