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>(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源代码内容请搜索科站长以前的文章或继续浏览下面的相关文章希望大家以后多多支持科站长!
上一篇:.Net Core 使用 TagProvider 与 Enricher 丰富日志的操作代码
栏 目:ASP.NET
本文标题:Visual Studio中调试 .NET源代码的实现步骤
本文地址:https://fushidao.cc/wangluobiancheng/3218.html
您可能感兴趣的文章
- 02-28ASP文件怎么打开,双击打不开ASP文件怎么办
- 02-28如何运行ASP程序,IIS服务器本地环境怎么搭建
- 02-28如何系统地掌握ASP编程技能?ASP开发入门步骤有哪些
- 02-28ASP如何高效开发动态网页?有哪些最佳实践技巧?
- 02-28ASP文件怎么打开?用什么软件打开ASP文件
- 02-28asp文件怎么打开,电脑打不开asp文件显示乱码
- 02-26ASP母版页预览过程中遇到难题?揭秘aspx母版页预览全攻略!
- 02-26ASP中如何准确获取并返回存储过程错误信息?
- 02-26如何高效实现API与ASP集成?探讨最佳ASP集成环境策略?
- 02-26ASP设置字体大小和文字颜色具体操作步骤是?
阅读排行
推荐教程
- 02-01ASP如何打开?掌握正确方法,轻松运行ASP文件
- 07-25在 .NET 中 使用 ANTLR4构建语法分析器的方法
- 07-25ASP.NET中Onclick与OnClientClick遇到的问题
- 07-25ASP.NET Core 模型验证消息的本地化新姿势详解
- 07-25Asp.NET Core WebApi 配置文件详细说明
- 07-25Math.NET Numerics 开源数学库安装使用详解
- 09-13asp.NET是前端还是后端
- 02-01ASP调用方法详解,从入门到精通
- 03-31详解如何在.NET代码中使用本地部署的Deepseek语言模型
- 07-25.NET Core 实现缓存的预热的方式
