Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序。

本文环境

开发环境:Win10 x64 Visual Studio 2017

部署环境:Ubuntu 14.04 x64 .NET Core SDK 1.0.1

Ubuntu上安装.NET Core SDK

Ubuntu 14.04 x64

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update

如果之前安装过预览版务必更新一下。

接着安装最新版本SDK 1.0.1

sudo apt-get install dotnet-dev-1.0.

安装完成后执行 dotnet --info 如下:

表示SDK安装成功。

接着在Linux服务器上,需要安装SSH服务器,unzip 和 curl或wget。命令如下:

sudo apt-get install openssh-server unzip curl

安装完成后,一切准备就绪。

新建程序

打开VS 2017 新建一个控制台应用.NET Core 名为: LinuxDemo。

在Program.cs 加入如下代码:

    class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World! LineZero");
Console.WriteLine("Linux .NET Core Debug");
Console.WriteLine("'q' exit");
while (true)
{
var result = Console.ReadLine();
if (result.Equals("q"))
return;
Console.WriteLine(result);
}
}
}

编写完代码,将代码上传到Ubuntu 上。

接着在Ubuntu 上运行程序,成功执行。

dotnet restore

dotnet build

dotnet run

附加调试

接着默认运行起程序,然后在VS 2017 打开 调试-> 附加到进程

选择连接类型为SSH ,然后连接和目标处 输入Ubuntu 的 IP,然后回车,会弹出对话,输入对应的用户名密码。

配置:

附加进程:

选择类型:

接着等待一下,在Linux输入几个字符,回车断下:

注意:

如果发现附加之后无法断下,停止调试,重启VS,然后退出程序,重新运行然后附加。多尝试几次即可。

如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

Visual Studio 2017 通过SSH 调试Linux 上.NET Core的更多相关文章

  1. Visual Studio 2017 的 JavaScript 调试功能的关闭

    关闭方法其实很简单,Options => Debugging => General => Enable JavaScript debugging for ASP.NET (Chrom ...

  2. visual studio 在windows远程调试 linux 程序 cout 输出乱码

    转载:https://www.cnblogs.com/findumars/p/6627255.html 反正是解决了. 以gcc为例,它有三个命令选项:-finput-charset=gb18030- ...

  3. VS2017 Linux 上.NET Core调试

    调试Linux 上.NET Core Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Stud ...

  4. Visual Studio 2017 Enterprise (15.3)

    版本15.3更新在用户离线下载时更加人性化,包含了进度显示,下载出错可以输入R,进行下载的重新尝试,并在当前下载框下继续下载为完成的作业,结合 --layout 参数的离线文件的检查和修复,并且在下载 ...

  5. 从头开始学eShopOnContainers——Visual Studio 2017环境配置

    一.安装和配置Docker环境 1.安装Docker CE for Windows 从官方网站下载并安装,https://docs.docker.com/docker-for-windows/inst ...

  6. Visual Studio 2017正式版发布全纪录

    又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...

  7. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  8. 使用Visual Studio 2017作为Linux C++开发工具

    Visual Studio 2017 微软的宇宙第一IDE Visual Studio 2017正式版出来了,地址是:https://www.visualstudio.com/vs/whatsnew/ ...

  9. 使用Visual Studio 2017开发Linux程序

    环境: win7_x64旗舰版.VS2017企业版.VMware10.0.2.CentOS7 在CentOS7上首先需要安装gcc.g++和gdbserver,这里就不多说 一.安装VS2017 1. ...

随机推荐

  1. spring mvc 资源包的映射

    在springmvc.xml中进行设置: <?xml version="1.0" encoding="UTF-8"?> <beans xmln ...

  2. Select与Epoll比较

    一.问题引出 联系区别 问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解 ...

  3. LinkedHashMap遍历

    第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Ma ...

  4. 通过java.net.URLConnection发送HTTP请求的方法

    一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...

  5. ajax提交的javascript代码

    var xhr=xhr(); function xhr(){ if(window.XMLHttpRequest){ return   window.XMLHttpRequest(); }else if ...

  6. 史上最牛逼的文件bom头清除代码,万能检测清除php,js等等

    做php开发,经常部分uft8的php文件因BOM头不同导致各种错误和错位.网上搜到的大部分所谓的去处bom工具都是2货,没有能用的.下面的一段代码,请复制到一个php文件里,然后上传到你的网站根目录 ...

  7. oracle decode函数的用法

    含义解释: decode(字段,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 用法如下:IF 字段=值1 返回 返回值1ELSIF 字段=值2 返回 返回值2 ......ELSIF ...

  8. 在Ubuntu12.0至14.04版本之间用Apache搭建网站运行环境

    为了顺利安装各种软件,先更新下系统. apt-get update 安装Apache服务 apt-get install apache2 -y 安装php apt-get install php5 - ...

  9. asp.net core mvc剖析:启动流程

    asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghelper,viewcomponent,D ...

  10. executssql 函数的每一句代码的意思

    Public Function Executesql(ByVal sql As String, Msgstring As String) As ADODB.Recordset Dim cnn As A ...