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

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

Windows中的Linux:Hello WSL

子系统从这里我不作过多的介绍了,你们有兴趣的话能够从 https://docs.microsoft.com/en-us/windows/wsl/about 中了解一下。git

第一步从windows开启wslgithub

咱们能够搜到他并打开windows

打开后咱们能够看到以下内容安全

由于一会我须要对他进行调试因此我这边选择的是DEBUGbash

经过上面一波操做后咱们须要作的是在WSL提示符下,输入dotnet并加上咱们的应用程序集名称服务器

如今咱们已经将咱们的应用程序发布到了linux中以下所示架构

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

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

SSH链接类型将与具备如下通讯架构的WSL一块儿使用:ssh

咱们须要安装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做为链接类型,同时须要点击“刷新”按钮将这些信息填充,以下所示:

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

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

当咱们在代码中设置断点以后,而且触发咱们设置的断点就会达到以下效果:

经过上面内容来讲咱们以达到了咱们预期的想法,咱们能够经过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

相关文章
相关标签/搜索