通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

栏目: IT技术 · 发布时间: 4年前

内容简介:最近两天在Linux中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易。一直习惯在Visual Studio中进行编码和调试。现在我想的是可以简单快速的测试.NET Core应用在Linux。所以通过本篇文章我们能了解到如何在Windows中使用Visual Studio进行远程调试我们部署在Linux中的应用程序,从而我们可以去发现或者说去调试在中会产生的一些问题。子系统从这里我不做过多的介绍了,大家有兴趣的话可以从第一步从windows开启wsl

最近两天在 Linux 中调试.NET Core应用程序,同时我发现在Linux中调试.NET Core应用程序并不容易。一直习惯在Visual Studio中进行编码和调试。现在我想的是可以简单快速的测试.NET Core应用在Linux。所以通过本篇文章我们能了解到如何在Windows中使用Visual Studio进行远程调试我们部署在Linux中的应用程序,从而我们可以去发现或者说去调试在中会产生的一些问题。

Windows中的Linux:Hello WSL

子系统从这里我不做过多的介绍了,大家有兴趣的话可以从 https://docs.microsoft.com/en-us/windows/wsl/about 中了解一下。

第一步从windows开启wsl

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

我们可以搜到他并打开

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

打开后我们可以看到如下内容

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

因为一会我需要对他进行调试所以我这边选择的是DEBUG

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

通过上面一波操作后我们需要做的是在WSL提示符下,输入dotnet并加上我们的应用程序集名称

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

现在我们已经将我们的应用程序发布到了linux中如下所示

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

如何附加到正在运行的Linux应用程序

正如上面所述,我想要做的是在Visual Studio中调试Linux应用程序,那么下面我们来看一下附加

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

SSH连接类型将与具有以下通信架构的WSL一起使用:

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

我们需要安装vsdbg调试器,然后通过SSH通到将命令发送到Linux调试器。

  1. 默认情况下,SSH服务器与WSL一起安装。但是,我无法使整个管道都可以使用,因此必须卸载并重新安装它:
sudo apt-get remove openssh-server

sudo apt-get install openssh-server
  1. 更改SSH配置,以允许 Visual Studio所需的用户名/密码类型的安全性,如果不知道如何有效地使用vi来简单地编辑文件,请安装nano
sudo apt-get install nano
  1. 在/etc/ssh/sshd_config中,更改PasswordAuthentication设置
sudo nano /etc/ssh/sshd_config

PasswordAuthentication yes
  1. 重启SSH服务器
sudo service ssh start
  1. 安装解压缩才能获取vsdbg
sudo apt-get install unzip

curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg

现在我们可以选择SSH作为连接类型,同时需要点击“刷新”按钮将这些信息填充,如下所示:

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

单击“刷新”按钮后,底部的列表应包含在WSL中运行的Linux进程。

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

选择.NET Core应用程序,然后单击附加选择托管调试器:

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

当我们在代码中设置断点之后,并且触发我们设置的断点就会达到如下效果:

通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序

通过上面内容来说我们以达到了我们预期的想法,我们可以通过Visual Studio借助WSL进行调试Linux应用程序。当然对于这一块我也在寻找更便捷的方式,当然我还发现一个 .NET Core Debugging with WSL 2 .

Reference

https://www.hanselman.com/blog/RemoteDebuggingANETCoreLinuxAppInWSL2FromVisualStudioOnWindows.aspx

https://devblogs.microsoft.com/devops/debugging-net-core-on-unix-over-ssh/

https://medium.com/criteo-labs/wsl-visual-studio-attaching-launching-a-linux-net-core-application-on-my-window-10-ab21c179702d

https://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-Studio


以上所述就是小编给大家介绍的《通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

天涯虚拟社区

天涯虚拟社区

刘华芹 / 民族出版社 / 2005-11 / 23.00元

网络空间很复杂,好多人并不完全了解或者只是了解到一些皮毛。比如说好多人对于见网友一事总是抱着浪漫或者暖昧的想法,而事实却并不总是想象的那样。作者在做虚拟社区研究甚至是在有这个想法之前并不常呆在网上,互联网对于作者来说就是查查资料、收发信年、看看新闻的工具。担是看着越来越多的人把时间花在网上,一处文化上的直觉告诉作者:有一种新的生活方式产生了。强烈的好奇心驱使着作者走到了网上,走到了天涯虚拟社区,并......一起来看看 《天涯虚拟社区》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具