最近兩天在Linux中調試.NET Core應用程序,同時我發如今Linux中調試.NET Core應用程序並不容易。一直習慣在Visual Studio中進行編碼和調試。如今我想的是能夠簡單快速的測試.NET Core應用在Linux。因此經過本篇文章咱們能瞭解到如何在Windows中使用Visual Studio進行遠程調試咱們部署在Linux中的應用程序,從而咱們能夠去發現或者說去調試在中會產生的一些問題。linux
子系統從這裏我不作過多的介紹了,你們有興趣的話能夠從 https://docs.microsoft.com/en-us/windows/wsl/about 中瞭解一下。git
第一步從windows開啓wslgithub
咱們能夠搜到他並打開windows
打開後咱們能夠看到以下內容安全
由於一會我須要對他進行調試因此我這邊選擇的是DEBUGbash
經過上面一波操做後咱們須要作的是在WSL提示符下,輸入dotnet並加上咱們的應用程序集名稱服務器
如今咱們已經將咱們的應用程序發佈到了linux中以下所示架構
正如上面所述,我想要作的是在Visual Studio中調試Linux應用程序,那麼下面咱們來看一下附加app
SSH鏈接類型將與具備如下通訊架構的WSL一塊兒使用:ssh
咱們須要安裝vsdbg調試器,而後經過SSH通到將命令發送到Linux調試器。
sudo apt-get remove openssh-server sudo apt-get install openssh-server
sudo apt-get install nano
sudo nano /etc/ssh/sshd_config PasswordAuthentication yes
sudo service ssh start
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.
https://www.hanselman.com/blog/RemoteDebuggingANETCoreLinuxAppInWSL2FromVisualStudioOnWindows.aspx
https://devblogs.microsoft.com/devops/debugging-net-core-on-unix-over-ssh/