详解Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

一、简介

使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的。

在新的Win10系统中微软给我们提供了一个基于Ubuntu的Linux子系统(Bash/WSL)。要全用Bash/WSL也比较简单,首先要先打开开发者模式( 设置 → 更新和安全 → 针对开发人员 → 开发人员模式), 然后在控制面板 → 程序 → 启用Windows功能 → Windows Subsystem for Linux (Beta)对Bash功能进行安装即可。

二、配置环境

本文中使用的环境:

开发环境:Win10 、Visual Studio 2017、.NET Core SDK 1.0.1 (Win与Linux子系统保持版本一致)

Bash/WSL中安装.NET Core SDK

1.更新Ubuntu子系统的软件源

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

2.安装.NET Core SDK

sudo apt-get install dotnet-dev-1.0.1

3.安装SSH

子系统间的通信,因为系统不同还是需要安装SSH服务器,unzip和 curl或wget这些组件的。

sudo apt-get install openssh-server unzip curl

安装SSH后,系统并不能访问本机的系统的端口做通信,还需要配置一个SSH服务器的配置文件。

运行如下命令:

sudo nano /etc/ssh/sshd_config

分别找到如下配置项做修改,修改后的内容如下:

UsePAM no

UsePrivilegeSeparation no

PasswordAuthentication yes

修改后,按CTRL+X键退出并按Y键保存文件,回车回车。

最后重启下SSH服务。

sudo service ssh --full-restart

三、调试程序

启动SSH

每次启动Bash进程时都需要重新启动SSH Service

sudo service ssh start

新建程序

打开VS 2017 新建一个控制台应用.NET Core,并进行编译。

附加调试

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

选择连接类型为SSH ,然后连接和目标处 输入 localhost,然后回车,会弹出对话,输入对应的用户名密码(这里的密码是安装Bash/WSL后设置的用户名和密码)。

好了,这样就可以只在Windows上安心的写程序了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解VS2017 Linux 上.NET Core调试

    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/dotn

  • Visual Studio 2017通过SSH调试Linux上.NET Core

    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/dotn

  • 详解Win10 Bash/WSL调试Linux环境下的.NET Core应用程序

    一.简介 使用过Mac OS的程序员都知道,在Mac Book Pro上写程序是一件比较爽的事儿,作为dotneter,我们都比较羡慕Mac系统的环境,比如命令行,当然设备也是挺漂亮的. 在新的Win10系统中微软给我们提供了一个基于Ubuntu的Linux子系统(Bash/WSL).要全用Bash/WSL也比较简单,首先要先打开开发者模式( 设置 → 更新和安全 → 针对开发人员 → 开发人员模式), 然后在控制面板 → 程序 → 启用Windows功能 → Windows Subsystem

  • 详解Go多协程并发环境下的错误处理

    引言 在Go语言中,我们通常会用到panic和recover来抛出错误和捕获错误,这一对操作在单协程环境下我们正常用就好了,并不会踩到什么坑.但是在多协程并发环境下,我们常常会碰到以下两个问题.假设我们现在有2个协程,我们叫它们协程A和B好了: 如果协程A发生了panic,协程B是否会因为协程A的panic而挂掉? 如果协程A发生了panic,协程B是否能用recover捕获到协程A的panic? 答案分别是:会.不能. 那么下面我们来一一验证,并给出在具体的业务场景下的最佳实践. 问题一 如果

  • golang 64位linux环境下编译出32位程序操作

    目标:在64位linux系统上编译出32位程序. 操作: 1.执行 go env 查看当前go环境配置 2.执行 export GOARCH=386 配置go输出系统平台为32位 3.go build 编译程序 4.使用file main 指令查看编译出的可执行程序是否为32位 实践图片: 补充:golang float32/64与[]byte互转 网络协议开发中经常需要将int.float.bool等转为二进制数据,float32.64 与[]byte处理: import ( "encodin

  • Linux环境下Oracle安装参数设置方法详解

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作. 1.系统信息查看 系统信息查看 首先服务器ip:192.168.8.120 服务器系统:Oracle Linux Server release 6.5 服务器主机名:oracle-learn 查看磁盘空间情况: [root@oracle-learn ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 32G 4.8G 26G

  • Linux环境下查看日志文件命令详解

    目录 前言 一.cat命令: 二.more命令: 三.less命令: 四.head命令: 五.tail命令: 六.tac命令: 七.echo命令: 八.grep命令: 九.sed命令: 混合命令: 附加: 前言 当日志存储文件很大时,我们就不能用 vi 直接去查看日志了,就需要Linux的一些内置命令去查看日志文件. 系统Log日志位置: /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志

  • Linux环境下Apache开启https服务的方法详解

    本文实例讲述了Linux环境下Apache开启https服务的方法.分享给大家供大家参考,具体如下: 首先申请SSL证书,以阿里云为例,找到域名管理: 免费开启SSL证书: 配置单域名免费证书:(有效期一年) 点击确定,验证证书: 审核成功后可以下载证书: 下载Apache的SSL证书: 解压出来这三个我放到了Apache安装目录/etc/httpd/cert下面 httpd.conf 里面加这个(引入conf.d文件夹下面的全部conf): Include conf.d/*.conf 运行这两

  • Linux环境下Apache服务器配置二级域名的方法详解

    本文实例讲述了Linux环境下Apache服务器配置二级域名的方法.分享给大家供大家参考,具体如下: (以域名www.csdn.net为例,现在需要配置一个二级域名blog.csdn.net指向主机地址) 首先,确认开启Apache配置文件httpd.conf中的mod_rewrite模块: 这里科普一下这个模块: 接下来我们需要登录所购域名运营商的域名管理后台,点击'域名解析': 手动添加或一键快速添加下面两条默认解析,形如www.csdn.net和csdn.net的域名就可以访问主机地址了

  • 详解C++的反调试技术与绕过手法

    反调试技术的实现方式有很多,最简单的一种实现方式莫过于直接调用Windows系统提供给我们的API函数,这些API函数中有些专门用来检测调试器的,有些则是可被改造为用于探测调试器是否存在的工具,多数情况下,调用系统API函数实现反调试是不明智的,原因很简单,目标主机通常会安装主动防御系统,而作为主动防御产品默认会加载RootKit驱动挂钩这些敏感函数的使用,如果被非法调用则会提示错误信息,病毒作者通常会使用汇编自行实现这些类似于系统提供给我们的反调试函数,并不会使用系统的API,这样依附于API

  • 详解Kotlin Android开发中的环境配置

    详解Kotlin Android开发中的环境配置 在Android Studio上面进行安装插件 在Settings ->Plugins ->Browse repositores.. ->kotlin 安装完成后重启Android Studio就生效了 如图所示: 在Android Studio中做Kotlin相关配置 (1)在根目录 的build.gradle中进行配置使用,代码如下: buildscript { ext.kotlin_version = '1.1.2-4' repos

  • Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个

随机推荐