• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

.NET Core使用Source Link提高源代码调试体验和生产效率

其他 追逐时光者 1209次浏览 0个评论

前言:

  在我们日常开发过程中常常会使用到很多其他封装好的第三方中间件(NuGet依赖项)、类库或者是.NET框架中自带的库。但是当你想要对这些类库的方法设置断点调试,然后发现无法F11(逐语句)调试进源码中调用堆栈大部分显示为灰色,而不让您看到调用堆栈中较早发生的事情。如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会提升非常的多。那么Source Link这项技术刚好就满足了我们对源码调试的意愿。

什么是Source Link:

  Source Link是一项技术,可让开发人员从NuGet调试.NET程序集的源代码。源链接在创建NuGet程序包时执行,并将源代码控制元数据嵌入程序集和程序包中。下载该程序包并在Visual Studio中启用了Source Link的开发人员可以进入其源代码。Source Link提供了源代码控制元数据,以创建出色的调试体验。

GitHub源码地址:

https://github.com/dotnet/sourcelink

Visual Studio配置启用Source Link:

拓展:符号文件即为.pdb的文件。

1、选择工具>选项>调试>符号,并确保已选中“ Microsoft符号服务器(.NET框架相关的库)和NuGet.org符号服务器”选项。为符号高速缓存指定目录是避免再次下载相同符号,提高源码查看效率。

.NET Core使用Source Link提高源代码调试体验和生产效率

 2、在“工具” >“选项” >“调试” >“常规”中禁用【启用“仅我的代码”】因为我们希望调试器尝试为解决方案之外的代码找到符号。验证是否已选中(默认情况下)。如果您想进入.NET Framework代码,则还需要选中.NET Core不需要此功能。

.NET Core使用Source Link提高源代码调试体验和生产效率

Visual Studio启用Source Link调试:

    接下来以Newtonsoft.Json(一款.NET中开源的Json序列化和反序列化类库)为例。有时您想进入框架来查看发生了什么,特别是如果发生了意外的事情。使用Source Link,您可以像使用自己的代码一样进入框架方法,检查所有变量并设置断点。

未启用Source Link调试之前:

如果您在没有Source Link的情况下尝试了此操作,那么在按F11介入之前和之后,就会看到以下内容,无法进入类库中查看其源码。

.NET Core使用Source Link提高源代码调试体验和生产效率

.NET Core使用Source Link提高源代码调试体验和生产效率

 启用Source Link调试:

 调试器不会介入,是因为没有符号或源。一旦配置了Source Link,当我们进入时,可以通过F11直接调试Nuget依赖库的源码(因为第一次需要下载源文件到本地可能等待时间要久一些)。

.NET Core使用Source Link提高源代码调试体验和生产效率

 

 

.NET Core使用Source Link提高源代码调试体验和生产效率

指定下载对应文件的源代码进行调试:

.NET Core使用Source Link提高源代码调试体验和生产效率

 


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明.NET Core使用Source Link提高源代码调试体验和生产效率
喜欢 (0)

您必须 登录 才能发表评论!

加载中……