使用源鏈接對ASP.NET Core源代碼進行調試
在Visual Studio 2017中可以通過符號以及源鏈接,非常方便對 ASP.NET Core 2.0中源代碼進行調試。在這篇文章中,我們將重點介紹如何使用源鏈接對ASP.NET Core源進行調試。
什么是源鏈接?
和我一樣,您可能已經(jīng)注意到在編譯代碼時,會創(chuàng)建的PDB文件。這些文件保存了符號信息,這些信息可以選擇用于支持對外部源代碼的調試。某些類型的符號文件可能包含一些源代碼或源代碼的映射。
很長一段時間以前,Microsoft已經(jīng)托管了符號服務器,它們保存Microsoft產(chǎn)品(如.NET Framework和ASP.NET Core)已發(fā)布的符號文件。Visual Studio支持動態(tài)下載符號。為此,您必須禁用“調試” -> “常規(guī)”選項中的“啟用僅我的代碼”選項。默認情況下,此選項在Visual Studio中是啟用的。
有關符號、符號服務器等的更多信息,請參閱此MSDN鏈接。
源鏈接允許您在符號文件中嵌入被調用方法的名稱和位置清單,它可以識別包含代碼的文件以及可以從哪里檢索文件。ASP.NET Core(不是.NET Core)現(xiàn)在支持源鏈接,并提供到GitHub上托管代碼的鏈接。
啟用和使用源鏈接
首先的要求是將Visual Studio 2017更新到最新的版本(15.3),該更新添加了源鏈接的支持。如果安裝此項,在“調試” -> “常規(guī)”選項中,您將看到“啟用源鏈接支持”。
除了確保“啟用僅我的代碼”禁用外,您還必須啟用Microsoft符號服務器,在“調試” -> “符號”選項中,可以從符號文件位置列表中啟用“Microsoft符號服務器”。
啟用符號服務器時,您需要接受調試時可能引入的性能影響。
設置完成后,準備調試ASP.NET Core源代碼。為了測試這個,我在Visual Studio中創(chuàng)建了一個默認的ASP.NET Core 2.0 MVC項目。然后我在HomeController
上為Index
方法添加了一個斷點。然后開始調試應用程序。第一次調試時,您可能會看到這樣的消息。
這是正在下載的符號文件,可能需要一段時間才能完成。
一旦應用程序運行到您代碼斷點處,您就可以導航到調用堆棧,以看到正在執(zhí)行的所有外部ASP.NET代碼。
如果您雙擊任何這些調用,編輯器將使用符號來確定該代碼所在的框架位置。使用符號文件中的鏈接,Visual Studio將從GitHub下載源文件。當源鏈接需要下載源代碼時,您會看到如下警告對話框:
您可以選擇第一項“下載源并繼續(xù)調試”選項,并繼續(xù)使用該文件進行調試。您可以選擇第二個選項,將下載該文件,并禁用下次文件下載的警告。
下載完源文件后,它將顯示在您選擇堆棧對應的位置。
您還可以在該文件中的其它位置添加自己的斷點,然后在調試應用程序時將其設置為命中。即使我們停止調試并重新啟動,這似乎仍然是有效的。
總結
在ASP.NET Core中調試外部源碼非常容易。通過這個功能可以獲得更多的價值,讓我們可以調試ASP.NET Core源代碼,了解內(nèi)部工作方式。
到此這篇關于使用源鏈接對ASP.NET Core源代碼進行調試的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
asp.net Repeater取得CheckBox選中的某行某個值
Repeater取得CheckBox選中的某行某個值的實現(xiàn)代碼2008-07-07使用.net core3.0 正式版創(chuàng)建Winform程序的方法(圖文)
這篇文章主要介紹了使用.net core3.0 正式版創(chuàng)建Winform程序的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03ASP.Net Core(C#)創(chuàng)建Web站點的實現(xiàn)
本文主要介紹了ASP.Net Core(C#)創(chuàng)建Web站點的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07XslTransform.Transform將結果輸出到字符串里的方法
XslTransform.Transform將結果輸出到字符串里的方法...2007-04-04asp.net點選驗證碼實現(xiàn)思路分享 (附demo)
這篇文章主要介紹了asp.net點選驗證碼實現(xiàn)思路分享 (附demo),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01DataGridView使用自定義控件實現(xiàn)簡單分頁功能(推薦)
這篇文章主要介紹了DataGridView使用自定義控件實現(xiàn)簡單分頁功能,數(shù)據(jù)庫使用的是sqlserver,本文通過通過實例代碼給大家講解的非常詳細,需要的朋友參考下吧2019-11-11asp.net中Post表單保存頁面狀態(tài)并輸出源碼的實現(xiàn)方法
先執(zhí)行腳本,復制源碼到隱藏域里,再輸出源碼,注意代碼紅色設置2012-08-08