Visual Studio中调试 .NET源代码的实现步骤
前言
在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库。如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会得到大大的提升。今天我们就一起来学习一下如何使用Visual Studio调试.NET源代码。
Visual Studio更多实用技巧
https://github.com/YSGStudyHards/DotNetGuide

取消选中启用仅我的代码
首先需要在在“工具”->“选项”->“调试”->“常规”中取消选中“启用仅我的代码”。


选中启用源链接支持

选中启用符号服务器
在“工具”->“选项”->“调试”->“符号”中,启用“Microsoft符号服务器”和“NuGet.org符合服务器”。

启用在模块加载时取消JIT优化(仅限托管)[可选]
在Visual Studio中启用“在模块加载时取消 JIT 优化(仅限托管)”功能是为了在调试代码时更容易地定位和解决问题。这个功能会防止 JIT 编译器对代码进行优化,从而使得调试器能够更准确地显示代码的执行过程。
在“工具”->“选项”->“调试”->“常规”中,启用“在模块加载时取消 JIT 优化(仅限托管)”:

启用Visual Studio调试源码
注意:第一次设置完之后会加载的比较缓慢,需要耐心等等。

我们使用System.Text.Json来进行JSON字符串反序列化成.NET对象的源码调试,查看JsonSerializer.Deserialize方法的内部实现:
程序代码:
internal class Program
{
static void Main(string[] args)
{
var userInfoStr = "[{\"UserName\":\"追逐时光者\",\"Description\":\"一个热爱捣鼓的全栈软件工程师\",\"Sex\":\"男\"},{\"UserName\":\"大姚\",\"Description\":\"帅气小伙\",\"Sex\":\"男\"},{\"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逐语句源代码调试:



到此这篇关于Visual Studio中调试 .NET源代码的实现步骤的文章就介绍到这了,更多相关VS调试 .NET源代码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Microsoft Visual Studio 2017 for Mac Preview安装使用案例分享
这篇文章主要为大家分享了Microsoft Visual Studio 2017 for Mac Preview安装使用案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-11-11
ASP.NET MVC HttpPostedFileBase文件上传的实例代码
这篇文章主要介绍了ASP.NET MVC HttpPostedFileBase文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07
ASP.NET Core 2.0 WebApi全局配置及日志实例
下面小编就为大家分享一篇ASP.NET Core 2.0 WebApi全局配置及日志实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2017-12-12
扩展ASP.NET MVC三层框架且使用StructureMap实现依赖注入1-Model层
本篇文章将向大家介绍如何添加Service和Repository层并且使用StructureMap把Service层注入到Controller,把Repository注入到Service层。2013-04-04


最新评论