原文出处:http://blogs.microsoft.co.il/blogs/arik/archive/2010/07/12/step-into-net-framework-4-0-source-code.aspx

本文将向你展示如何配置Visual Studio 2010逐语句执行.NET Framework 4.0源代码。

为啥?

因为很酷。

因为能帮助调试。

你不仅能看到源代码而且能逐语句执行。

因为和 Reflector不同, 你可以获得代码以及原始的注释和变量名称!

第一步:下载源代码

地址:http://referencesource.microsoft.com/netframework.aspx

下载产品名称(Product Name)为.NET,版本(Version)为4的记录,有175MB。

第二步:安装源代码

安装 “Net_4.msi”

我将它安装到: “D:\RefSrc\” 
安装source和Symbols大概需要1GB的空间 (你是否比较兴奋?)

第三步:安装 Visual Studio 2010

配置Visual Studio 2010:

1. 打开 Visual Studio 2010

2. 从工具(Tools)菜单, 选择选项(Options).

3. 在选项(Options)的对话框中,打开 调试Debugging)节点并选择 常规(General)

- 取消  "启用仅我的代码(仅限托管)" "Enable Just My Code (Managed only)"

-选中  ”启用源服务器支持"  "Enable source server support"

- 取消 "要求源文件与原始版本完全匹配 " "Require source files to exactly match the original version"

- 取消  "逐过程执行属性和运算符(仅限托管) " "Step over properties and operators (Managed only)”

4. 选择调试(Debugging)下面的符号(Symbols)

在符号文件位置框中,添加下载的符号位置: 
“D:\RefSrc\Symbols”

注意:添加符号路径请点击文件夹图标 
     
符号缓存目录中输入:

“D:\RefSrc\Symbols\Cache”

现在你可以按F11(逐语句).NET 源代码了。

故障排除

如果你没有看到符号,试着如下操作:

  • 确认是在.NET Framework 4.0下面调试你的程序。

  • 确认不是安装在\Program Files\下面,如果你已经安装在这里,你可以以管理员身份运行Visual Studion 2010或者更换缓存目录换成其他可写的目录。
  • 运行时,右键调用堆栈,有一些变灰的.NET功能,选择 ”加载符号从"Load Symbols From” ”符号路径" "Symbol Path”.

  • 如果你遇到"No Source Available” , 试着点击“Browse to Find Source” 并在源码目录中找到你需要的文件。也许你可能使用文件搜索找到它。

最好,你可以在http://referencesource.microsoft.com/找到更多信息。

源码:在线阅读http://referencesource.microsoft.com/#mscorlib/system/collections/arraylist.cs

.NET Framework 4.0源代码的更多相关文章

  1. 编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。

    错误如下: “/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0016: 未能写入 ...

  2. Entity Framework 5.0.0 Function Import 以及 ODP. NET Implicit REF CURSOR Binding使用简介

    源代码 概要: 1,说明如何使用Entity Framework中的function import功能. 2,说明如何使用ODP.NET的隐式REF CURSOR绑定(implicit REF CUR ...

  3. ASP.NET Core 2.0 源代码

    ASP.NET Core 2.0 源代码 在Visual Studio 2017中可以通过符号以及源链接,非常方便对 ASP.NET Core 2.0中源代码进行调试.在这篇文章中,我们将重点介绍如何 ...

  4. 开发 ASP.NET vNext 续篇:云优化的概念、Entity Framework 7.0、简单吞吐量压力测试

    继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-ho ...

  5. [EF2]Sneak Preview: Persistence Ignorance and POCO in Entity Framework 4.0

    http://blogs.msdn.com/b/adonet/archive/2009/05/11/sneak-preview-persistence-ignorance-and-poco-in-en ...

  6. Windows7安装 .net framework 4.0

    1.首先下载安装包.net framework 4.0点击下载即可 2.安装,双击下载好的安装包

  7. ".NET Compact Framework v2.0 could not be found."

    参考: http://blog.csdn.net/godcyx/article/details/7348431 问题原因: That's a known issue where VS can't di ...

  8. [已解决]:调用 LoadLibraryEx 失败,在 ISAPI 筛选器 "c:\Windows\Microsoft.NET\Framework\v4.0.30319\\aspnet_filter.

    现象:我的是 win7, iis7, 64bit, 打开网站错误如下: 错误摘要 HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败,在 ...

  9. You may receive an exception when you browse a .NET Framework 2.0 ASP.NET Web application

    SYMPTOMS When you browse a Microsoft .NET Framework 2.0 ASP.NET Web application, you may receive one ...

随机推荐

  1. 【html5】html5 本地存储

    最近一直在学习 html5,为了后期的移动项目进行知识储备.html5 相对于 html4 新增加了一些有趣的标签.属性和方法,今天主要介绍下 html5 的本地存储. 在客户端存储数据 html5 ...

  2. About darwin OS

    Darwin 是一种Unix-like操作系统,整合数种的技术,包含开 Darwin LOGO 放原始码的XNU核心,一种以微核心为基础的核心架构来实作Machkernel.操作系统的服务和userl ...

  3. ADB 设置远程调试

    Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00016657 相信很多人在android 开发调试的时 ...

  4. SAP+ 差旅报销集成方案的实现

    跨国集团通常都会有一个财务共享中心SSC的集中处理业务部门,用于统计来自各个公司的差旅报销,而1).传统的OA审批 虽然审批流是优势存在着需要SAP数据二次录入,数据不同步等困难,2).如果终端用户都 ...

  5. (笔记)Linux线程编译undefined reference to 'pthread_create'

    在使用线程时,使用gcc或arm-linux-gcc编译时,会出现错误:undefined reference to 'pthread_create' 主要是以下两种原因: 1.#include &l ...

  6. Python——hashlib

    该模块实现了诸多安全哈希和消息摘要算法的通用接口,包括 FIPS 安全哈希算法: SHA1, SHA224, SHA256, SHA384 和 SHA512 算法(在 FIPS 180-2 中定义), ...

  7. IE10弹窗showModalDialog关闭之后提示SCRIPT5011:不能执行已释放的Script代码

    在Web开发中,经常使用showModalDialog弹窗 今天遇到一个小问题,IE10中弹窗关闭之后提示SCRIPT5011:不能执行已释放的Script代码 网上搜罗了一些资料,发现大多都提到对象 ...

  8. 系统中hosts文件有哪些作用

    hosts文件位于系统盘C:\Windows\System32\drivers\etc中,hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库 ...

  9. Linux基础网络设置

    查看Linux网络参数 ifconfig—-查看网络接口 > [root@localhost ~]# ifconfig eth1 Link encap:Ethernet HWaddr 00:0C ...

  10. MyMVC配置

    <system.webServer> <validation validateIntegratedModeConfiguration="false"/> & ...