三、使用vscode在docker中debug
上篇博文中分享了如何用docker-compose搭建AspNetCore的开发环境,在开发过程中debug是必不可少的,如果你使用VS2017的话,右键就可以了,而作为跨平台的.net core开发的时候却要依赖VisualStudio,那一定算不上真正的跨平台,而且不是所有人都能买得起VS的许可证,买得起windows的授权,(我知道很多人都没买过:)所以这次来分享一下如何使用vscode在docker中debug。
我们知道vscode是可以远程debug的,参考OminiSharp的Wiki,其原理就是在服务器上安装.NetCore命令行调试工具VSDBG
,然后本地vscode通过ssh隧道建立和服务器之间的连接,控制服务器上的VSDBG
进行断点调试。
根据远程debug的启发,我们可以在docker中安装VSDBG
,vscode访问容器中的VSDBG
进行断点调试,原理和上面的远程debug一样,区别在于可以直接访问容器而不需要ssh。
首先通过命令
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg
记得2个月之前用这个命令无法安装的VSDBG
,因为里面的工具包下载不了,只能手动把对应版本的工具包下载下来,然后上传到自己的文件服务器,再替换脚本中的下载地址,折腾的好烦人。现在可以直接下载了,非常开心
三、使用vscode在docker中debug的更多相关文章
- 保姆级教程:VsCode调试docker中的NodeJS程序
最近在写NodeJS相关的项目,运行在docker容器中,也是想研究一下断点调试,于是查阅相关资料,最终顺利配置好了. 首先我选择了VsCode作为ide,并用VsCode来做NodeJS可视化deb ...
- docker中部署django项目~~Dockfile方式和compose方式
1. 背景: 本机win10上,后端django框架代码与前端vue框架代码联调通过. 2. 目的: 在centos7系统服务器上使用docker容器部署该项目. 3. 方案一:仅使用基 ...
- 在Docker中使用Microsoft SQL Server数据库
下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看.(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈-) Docker下载可看上一篇博文mac系统,docker ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- Docker中部署Kubernetes
Kubernetes为Google开源的容器管理框架,提供了Docker容器的夸主机.集群管理.容器部署.高可用.弹性伸缩等一系列功能:Kubernetes的设计目标包括使容器集群任意时刻都处于用户期 ...
- .NET Core Web 应用部署到 Docker 中运行
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...
- Calico在Docker中的搭建
一,Multi-host网络需求 开始之前推荐两篇文章 http://xelatex.github.io/2015/11/15/Battlefield-Calico-Flannel-Weave-and ...
- C++中debug和release的区别 . 转载
vc中debug和release的不同 收藏 在使用VC开发软件的过程中,正当要享受那种兴奋的时候突然发现:release与debug运行结果不一致,甚至出错,而release又不方便调试,真的是当 ...
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
随机推荐
- 二、 添加控制器Controller(ASP.NET MVC5 系列)
MVC是Model-View-Controller的简写.MVC是一种开发良好架构,可测试,易维护应用程序的设计模式.据于MVC的应用程序应该包含: Models: 是呈现应用程序数据和使用验证逻辑给 ...
- unity 判断是安卓还是IOS平台
功能概述 储值功能,点击一个按钮(mSprites["Recharge"]),实现储值功能,在IOS平台上,该按钮下的功能全部隐藏,在安卓平台上正常显示按钮,实现相应功能 #if ...
- 2D游戏开发(2)
每次给游戏添加新功能时,通常也会引入一些新设置.为了让所有的设置进行统一管理,我们可以配置一个名为 setting的模块,这个模块中包含一个setting的类,用来存储所有的设置. #代码-- #!/ ...
- My "Top 5 R Functions"(转)
In preparation for a R Workgroup meeting, I started thinking about what would be my "Top 5 R Fu ...
- jQuery杂项方法
前面的话 杂项方法其实也是工具类方法,但由于其不是定义在jQuery构造函数上的方法,所以不能称为工具方法.本文将详细介绍jQuery中的杂项方法 数据操作 [data()] 该方法用于在匹配元素上存 ...
- css颜色值设置方式有哪些?以及如何随机一个颜色?
网页中颜色的使用方式有一下几种 1.颜色名称 ,如red black white 2.十六进制颜色,网页中常用,每两位代表红绿蓝的值的比例, 如 #ffffff白色 #000000黑色 3.r ...
- 框架和css基础
框架:一.框架集:1.<frameset></frameset>不能有<body>标签 属性:1)cols:把网页拆分成几列(左右拆分)eg:<framese ...
- java并发编程(Exchanger)
package org.bianqi.demo1; import java.util.concurrent.Exchanger; import java.util.concurrent.Executo ...
- Java NIO学习笔记六 SocketChannel 和 ServerSocketChannel
Java NIO SocketChannel Java NIO SocketChannel是连接到TCP网络socket(套接字)的通道.Java NIO相当于Java Networking的sock ...
- Spring mvc 中使用 kaptcha 验证码
生成验证码的方式有很多,个人认为较为灵活方便的是Kaptcha ,他是基于SimpleCaptcha的开源项目.使用Kaptcha 生成验证码十分简单并且参数可以进行自定义.只需添加jar包配置下就可 ...