通過Windows Visual Studio遠程調(diào)試WSL2中的.NET Core Linux應用程序的方法
最近兩天在Linux中調(diào)試.NET Core應用程序,同時我發(fā)現(xiàn)在Linux中調(diào)試.NET Core應用程序并不容易。一直習慣在Visual Studio中進行編碼和調(diào)試?,F(xiàn)在我想的是可以簡單快速的測試.NET Core應用在Linux。所以通過本篇文章我們能了解到如何在Windows中使用Visual Studio進行遠程調(diào)試我們部署在Linux中的應用程序,從而我們可以去發(fā)現(xiàn)或者說去調(diào)試在中會產(chǎn)生的一些問題。
Windows中的Linux:Hello WSL
子系統(tǒng)從這里我不做過多的介紹了,大家有興趣的話可以從 https://docs.microsoft.com/en-us/windows/wsl/about 中了解一下。
第一步從windows開啟wsl
我們可以搜到他并打開
打開后我們可以看到如下內(nèi)容
因為一會我需要對他進行調(diào)試所以我這邊選擇的是DEBUG
通過上面一波操作后我們需要做的是在WSL提示符下,輸入dotnet并加上我們的應用程序集名稱
現(xiàn)在我們已經(jīng)將我們的應用程序發(fā)布到了linux中如下所示
如何附加到正在運行的Linux應用程序
正如上面所述,我想要做的是在Visual Studio中調(diào)試Linux應用程序,那么下面我們來看一下附加
SSH連接類型將與具有以下通信架構的WSL一起使用:
我們需要安裝vsdbg調(diào)試器,然后通過SSH通到將命令發(fā)送到Linux調(diào)試器。
默認情況下,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
現(xiàn)在我們可以選擇SSH作為連接類型,同時需要點擊“刷新”按鈕將這些信息填充,如下所示:
單擊“刷新”按鈕后,底部的列表應包含在WSL中運行的Linux進程。
選擇.NET Core應用程序,然后單擊附加選擇托管調(diào)試器:
當我們在代碼中設置斷點之后,并且觸發(fā)我們設置的斷點就會達到如下效果:
通過上面內(nèi)容來說我們以達到了我們預期的想法,我們可以通過Visual Studio借助WSL進行調(diào)試Linux應用程序。當然對于這一塊我也在尋找更便捷的方式,當然我還發(fā)現(xiàn)一個
.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/
總結
到此這篇關于通過Windows Visual Studio遠程調(diào)試WSL2中的.NET Core Linux應用程序的問題的文章就介紹到這了,更多相關Windows Visual Studio遠程調(diào)試WSL2內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
.net?程序通過?crontab?無法啟動手動執(zhí)行腳本啟動的方法
.net 網(wǎng)關程序需要設置定時重啟,按照日常操作先把正在運行的 PID kill 掉后,再執(zhí)行啟動服務。通過腳本無法啟動,試著把 .net 程序寫成服務后,發(fā)現(xiàn)是可以正常重啟的,本文給大家介紹下.net 程序通過 crontab 無法啟動手動執(zhí)行腳本啟動,感興趣的朋友一起看看吧2021-12-12datalist,Repeater和Gridview的區(qū)別分析
datalist,Repeater和Gridview的區(qū)別分析,需要的朋友可以參考一下2013-03-03.Net整合Json實現(xiàn)REST服務客戶端的方法詳解
這篇文章主要給大家介紹了關于.Net整合Json實現(xiàn)REST服務客戶端的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-01-01asp.net core mvc實現(xiàn)偽靜態(tài)功能
這篇文章主要為大家詳細介紹了asp.net core mvc實現(xiàn)偽靜態(tài)功能的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02基于ASP.NET的lucene.net全文搜索實現(xiàn)步驟
使用lucene.net搜索分為兩個部分,首先是創(chuàng)建索引,創(chuàng)建文本內(nèi)容的索引,其次是根據(jù)創(chuàng)建的索引進行搜索, 感興趣的朋友可以了解下或許對你有所幫助2013-02-02詳解ASP.NET與ASP.NET Core用戶驗證Cookie并存解決方案
本篇文章主要介紹了詳解ASP.NET與ASP.NET Core用戶驗證Cookie并存解決方案 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02更方便快捷的外部操作數(shù)據(jù)庫的方法(另類玩法)
數(shù)據(jù)庫操作方法很多,各種各樣但是外部操作數(shù)據(jù)庫的方法就會顯得格外陌生了,感興趣的朋友可以詳細了解下本文,或許對你學習ado.net有所幫助2013-02-02