Visual Studio开启.NET Framework源代码调试(Debug the Source Code for the .NET Framework Libraries)...

  .NET Framework的封装能力的确很强,但是这样做有时也给我们带来一些麻烦,比如我们想了解.NET Framework内部的一些运行机制。这种情况下,我们就需要查看其源代码,但是.NET毕竟不是开源的,那么怎么办呢?微软似乎了解到.NET程序员的这点苦衷,所以“开放”了.NET的源代码,但是必须遵需Microsoft Reference License (MS-RL)。原文参考:ScottGu'sReleasing the Source Code for the .NET Framework Libraries

参考步骤:

随便新建一个项目,并设置一个断点,然后F5,进入调试模式。

菜单中选择”工具“—”选项“,对话框中勾选“显示所有设置”,选择”调试“—"符号",选择临时存放符号文件的目录,单击“从Microsoft符号服务器加载符号”。

在弹出的对话框中单击“确定”。

接下来Visusl Studio会从Microsoft符号服务器下载符号文件,这个过程比较慢,需要下载40MB左右的文件。

下载完成后,单击“确定”,关闭选项对话框。接下来按F11单步调试,Visusl Studio就会自动下载源代码了。第一次还会出现“最终用户许可协议”对话框,单击”同意“

经过这样的分析,发现Console.WriteLine("Hello Source Code")最终是调用WriteFile(hFile, p + offset, count, out numBytesWritten, Win32Native.NULL)这个Win32API函数实现的。

到符号缓存文件夹看看,源码在src文件夹中,目录很深,.NET真是个大项目。"F:\Program Files\Microsoft.NET\SymbolCache\src\source\dotnetfx35sp1_3053\1.3\DEVDIV\depot\DevDiv\releases\whidbey\netfxsp\ndp\clr\src\BCL\System\IO\__ConsoleStream.cs\1\__ConsoleStream.cs"

微软只是提供了一部分源码,貌似不是全部,不过对我们.NET程序员来说,已经相当有用了,这是个不错的开端,希望微软继续。想了解CLR机制的朋友可以试试,应该比反射好,因为源码中带有注释。

“最终用户许可协议”对话框

转载于:https://www.cnblogs.com/eshizhan/archive/2010/01/29/1658914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值