win下远程调试linux程序的工具,通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序的方法...

最近两天在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

81b2f4d94c1fc41ef7953c50f31a2d9c.png

我们可以搜到他并打开

22c26f76f2a1134335db5abef89c6f29.png

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

a07df6f8acd19ab3a929f4eda825abda.png

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

ab677e5894905559624f20b3a3b9799c.png

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

51161c9f341ba94c2bf15ba9d94910f1.png

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

10849e50ce860b7828c63f743d8c1eba.png

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

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

fe921d644d93c227fffa380915485d90.png

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

a2bb3802a590fe9e6d70498f469894d4.png

我们需要安装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_config

PasswordAuthentication 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作为连接类型,同时需要点击“刷新”按钮将这些信息填充,如下所示:

efa93668a6d6b79ad65e5d7a138bab57.png

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

2ba1254e008ff17841aa58d0a133a42c.png

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

4d8401a14dc4a5194384191ad6801bd7.png

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

87f62e6c075b73a0037cce67b7a4e4e4.png

通过上面内容来说我们以达到了我们预期的想法,我们可以通过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应用程序的问题的文章就介绍到这了,更多相关Windows Visual Studio远程调试WSL2内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文链接:https://www.cnblogs.com/yyfh/p/13284004.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值