原文出处: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. ELASTICSEARCH 中暂时移除一个节点

    ELASTICSEARCH 中暂时移除一个节点 版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 前言 在维护ES集群的过程中,我们会经常遇到将某个ES实 ...

  2. Entity Framework应用:根据实体的EntityState状态实现增删改查

    在上一篇文章中,我们讲解了使用EF实现简单的增删改成,在这篇文章中我们使用实体的EntityState状态来优化数据的增删改查. 一.修改数据 上篇文章中的修改数据的方法是EF官方推荐的方式,即先查询 ...

  3. [技术选型] Node.js

    Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站 NodeJS适合运用在高并发.I/O密集.少量 ...

  4. Python __init__函数的使用

    class Cat: def __init__(self,_name): self.name = _name def eat(self): print("i am eating ." ...

  5. VMware快照的工作原理

    VMware中的快照是对VMDK在某个时间点的“拷贝”,这个“拷贝”并不是对VMDK文件的复制,而是保持磁盘文件和系统内存在该时间点的状态,以便在出现故障后虚拟机能够恢复到该时间点.如果对某个虚拟机创 ...

  6. 解密QQ——队列

    一.问题引入 小明和小丽同在一个自习室上自习,小明感觉小丽是一个很不错的女孩,于是他鼓足勇气向小丽要QQ号,然而小丽也是个矜持的女孩,当然不会直接告诉他,所以小丽给了小明一串加密过的数字,同时她也告诉 ...

  7. 启动其他APK的Activity方法 (转至http://www.cnblogs.com/lijunamneg/archive/2013/02/26/2934060.html)

    有两个app,分别叫做App1和App2.App1包含两个Activity,分别叫做App1_A和App1_B.其中App1_A是入口Activity.也就是App1_A设置intent-filter ...

  8. Spring Boot 快速搭建的三种方式

    方式一:http://start.spring.io/ 打开浏览器,在地址栏中输入http://start.spring.io/ 如下图:  点击generate project 然后就会有一个zip ...

  9. C# js 在页面能执行,放在单独js文件不能执行

    我们先来看看MVC中生成的 注意:url.Content 生成的路径 Html.ActionLink 与 Url.Action 1.两者者是根据给定的Controller,Action 生成链接, 但 ...

  10. C# 在EF中直接运行SQL命令

    相信不少使用EF的同志们已经知道如何在EF中运行SQL命令了.我在这里简单总结下,希望对大家学习EF有所帮助! 在 EF第一个版本(.NET 3.5 SP1)中,我们只能通过将ObjectContex ...