查看原文
其他

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

DotNet 2021-09-23

(给DotNet加星标,提升.Net技能

转自:HueiFeng
cnblogs.com/yyfh/p/13284004.html

前言


在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



我们可以搜到他并打开



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



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



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



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



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


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



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



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


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


sudo apt-get remove openssh-server
sudo apt-get install openssh-server


更改SSH配置,以允许 Visual Studio所需的用户名/密码类型的安全性,如果不知道如何有效地使用vi来简单地编辑文件,请安装nano

sudo apt-get install nano


在/etc/ssh/sshd_config中,更改PasswordAuthentication设置


sudo nano /etc/ssh/sshd_configPasswordAuthentication yes



重启SSH服务器

sudo service ssh start


安装解压缩才能获取vsdbg


sudo apt-get install unzip
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l ~/vsdbg


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



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



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



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



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

.NET Core Debugging with WSL 2.


- EOF -



推荐阅读  点击标题可跳转
C# 人脸识别库 0.2WinUI 3 试玩报告玩转 Windows Terminal 


看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

好文章,我在看❤️

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存