Visual Studio中調(diào)試 .NET源代碼的實現(xiàn)步驟
前言
在我們?nèi)粘i_發(fā)過程中常常會使用到很多其他封裝好的第三方類庫(NuGet依賴項)或者是.NET框架中自帶的庫。如果可以設(shè)置斷點并在NuGet依賴項或框架本身上使用調(diào)試器的所有功能,那么我們的源碼調(diào)試體驗和生產(chǎn)效率會得到大大的提升。今天我們就一起來學(xué)習(xí)一下如何使用Visual Studio調(diào)試.NET源代碼。
Visual Studio更多實用技巧
https://github.com/YSGStudyHards/DotNetGuide

取消選中啟用僅我的代碼
首先需要在在“工具”->“選項”->“調(diào)試”->“常規(guī)”中取消選中“啟用僅我的代碼”。


選中啟用源鏈接支持

選中啟用符號服務(wù)器
在“工具”->“選項”->“調(diào)試”->“符號”中,啟用“Microsoft符號服務(wù)器”和“NuGet.org符合服務(wù)器”。

啟用在模塊加載時取消JIT優(yōu)化(僅限托管)[可選]
在Visual Studio中啟用“在模塊加載時取消 JIT 優(yōu)化(僅限托管)”功能是為了在調(diào)試代碼時更容易地定位和解決問題。這個功能會防止 JIT 編譯器對代碼進(jìn)行優(yōu)化,從而使得調(diào)試器能夠更準(zhǔn)確地顯示代碼的執(zhí)行過程。
在“工具”->“選項”->“調(diào)試”->“常規(guī)”中,啟用“在模塊加載時取消 JIT 優(yōu)化(僅限托管)”:

啟用Visual Studio調(diào)試源碼
注意:第一次設(shè)置完之后會加載的比較緩慢,需要耐心等等。

我們使用System.Text.Json來進(jìn)行JSON字符串反序列化成.NET對象的源碼調(diào)試,查看JsonSerializer.Deserialize方法的內(nèi)部實現(xiàn):
程序代碼:
internal class Program
{
static void Main(string[] args)
{
var userInfoStr = "[{\"UserName\":\"追逐時光者\",\"Description\":\"一個熱愛搗鼓的全棧軟件工程師\",\"Sex\":\"男\(zhòng)"},{\"UserName\":\"大姚\",\"Description\":\"帥氣小伙\",\"Sex\":\"男\(zhòng)"},{\"UserName\":\"小藝子\",\"Description\":\"超級大美女\",\"Sex\":\"女\"}]";
var userInfoObj = JsonSerializer.Deserialize<List<UserModel>>(userInfoStr);
}
}
public class UserModel
{
public string UserName { get; set; }
public string Description { get; set; }
public string Sex { get; set; }
}
F11逐語句源代碼調(diào)試:



到此這篇關(guān)于Visual Studio中調(diào)試 .NET源代碼的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)VS調(diào)試 .NET源代碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Microsoft Visual Studio 2017 for Mac Preview安裝使用案例分享
這篇文章主要為大家分享了Microsoft Visual Studio 2017 for Mac Preview安裝使用案例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
ASP.NET?Core實現(xiàn)動態(tài)審計日志功能
這篇文章主要為大家詳細(xì)介紹了如何通過ASP.NET?Core設(shè)計和實現(xiàn)一個靈活、可擴(kuò)展的審計日志系統(tǒng),同時保持對主業(yè)務(wù)邏輯的最小化干擾,需要的可以參考下2024-03-03
ASP.NET MVC HttpPostedFileBase文件上傳的實例代碼
這篇文章主要介紹了ASP.NET MVC HttpPostedFileBase文件上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
c# 讀取Northwind數(shù)據(jù)庫image字段
我在寫一個三層結(jié)構(gòu)Demo時,使用了Northwind這個范例數(shù)據(jù)庫。但是奇怪的是,讀取Categories表的Picture列(image類型)無法在image控件中正常顯示(解決方案在后面代碼中可以看到)。2009-03-03
ASP.NET Core 2.0 WebApi全局配置及日志實例
下面小編就為大家分享一篇ASP.NET Core 2.0 WebApi全局配置及日志實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
asp.net sql 數(shù)據(jù)庫處理函數(shù)命令
asp.net sql 數(shù)據(jù)庫處理函數(shù)命令 ,需要的朋友可以參考下。2009-10-10
擴(kuò)展ASP.NET MVC三層框架且使用StructureMap實現(xiàn)依賴注入1-Model層
本篇文章將向大家介紹如何添加Service和Repository層并且使用StructureMap把Service層注入到Controller,把Repository注入到Service層。2013-04-04

