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