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

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


選中啟用源鏈接支持

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

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

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

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



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

