年终福利:调试.NET Framework源代码
前言
要问JAVA语言最大的优势之一,那就是开源。开源的JAVA框架让JAVA程序员可以不断的通过看源代码来学习、成长、解决问题。并随着时间增长能力越来越强,自然薪水就越来越高。而DONET程序员要看源代码,就只能通过.NET Refelctor或者ILSPY等工具,由于是第三方的,源代码大多不全。但是随着DOTNET的开源,有了官方的支持,DOTNET程序员终于也可以开始享受这种福利了,更何况我们还有最好的IDE,下面给大家介绍一下,如何在VS中,调试DOTNET框架的源代码,最终效果图如下:






注意这里不是用的.NET Reflector的效果。更何况前者是收费的,对于正规的公司而言,都是不被允许使用的,怕惹上官司上的麻烦。
开始
由于我的开发工具是VS2013,那么下面就以VS2013为例,来看看怎么设定吧!
打开菜单:Tools -> Options -> Debugging -> General menu,设定如图:

上图参考:微软官方设定图
好接下来,设定符号。

这里简单解释一下符号,即Symbols。其实Symbols是对PDB文件的一种称呼,所谓PDB,即Programe database ,是程序在编译时产生的文件,里面附加有大量的调试信息。微软的符号服务器固然有大量的Symbols,然后这些都是被阉割过的,关于源码的部分的被砍得所剩无几,所以一定不要勾选Microsoft符号服务器,另外http://referencesource.microsoft.com/sumbols支持到.NET 4.5.1,以上结论均可以具体参考:http://blogs.msdn.com/b/dotnet/archive/2014/02/24/a-new-look-for-net-reference-source.aspx。另外微软也说,现在虽然不是所有库的symbols都有,但随着时间的推移,微软支持的会越来越多。所以大家只用设定好,然后等着微软更新就OK了:-).
另外对于其它的VS版本,请参考:http://stackoverflow.com/questions/15185725/debug-net-framework-source-code-in-visual-studio-2012
好了,完工。
差点忘了,还有一个资源:http://referencesource.microsoft.com/download.html,效果如下:

真的完工了。
最后,放一则广告:找钢网武汉研发中心招聘中高级.NET工程师。扎根于钢铁行业互联网电商,已完成N轮融资,估值超十亿美金。十三薪,福利丰厚,全员持股。
这可能会是你遇到的,最好的机会。
有意向的朋友可以邮箱联系我:582105721@qq.com。最好能附上您的简历。我会第一时间转给HR。
年终福利:调试.NET Framework源代码的更多相关文章
- 调试 .NET Framework 源代码、.DotNetCore源码
调试 .NET Framework 源代码..DotNetCore源码 如何调试 .NET Framework 源代码 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件 .NE ...
- 如何:调试 .NET Framework 源代码
文章标题:如何:调试 .NET Framework 源代码 文章地址:https://technet.microsoft.com/zh-cn/cc667410.aspx
- 如何调试Android Framework?
Linus有一句名言广为人知:Read the fucking source code. 但其实,要深入理解某个软件.框架或者系统的工作原理,仅仅「看」代码是远远不够的.就拿Android Frame ...
- 如何在 Visual Studio 2013 中调试.NET Framework 4.5.1 代码
版本需求如标题,在 工具->选项->调试->常规 中,更改以下设置: 禁用:启用“仅我的代码”.逐过程执行属性和运算符(仅限托管).要求源文件与原始版本完全匹配 启用:启用 .NET ...
- 调试Felix Framework
这里是指用Eclipse调试Felix Framework自身. 1. 首先安装Eclipse Java EE,然后再安装Java Source Attacher,这样才会在Jar文件的右键菜单“属性 ...
- dotnet Framework 源代码 类库的意思
本文告诉大家 dotnet framework 的源代码类库的意思 下面列出来 dotnet framework 源代码的各个类库的作用. System System 命名空间包含基本类和基类,这些类 ...
- dotnet Framework 源代码 · Ink
本文是分析 .NET Framework 源代码的系列,主要告诉大家微软做笔迹用的思路,怎么做的笔迹才是高性能的,用户体验比较好的.我会告诉大家源代码的思想,当然这个文章会比较无聊.如果你是想做笔迹的 ...
- .net Framework 源代码 · ScrollViewer
本文是分析 .net Framework 源代码的系列,主要告诉大家微软做 ScrollViewer 的思路,分析很简单 看完本文,可以学会如何写一个 ScrollViewer ,如何定义一个 ISc ...
- 手把手教你调试Entity Framework 6源码
0 摘要 本文讲述在Visual Studio 2013(VS 2013)下调试Entity Framework 6(EF 6)源码的配置过程.原则上,VS 2012也适用. 之前打算编写<E ...
随机推荐
- redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...
- python Basic usage
__author__ = 'student' l=[] l=list('yaoxiaohua') print l print l[0:2] l=list('abc') print l*3 l.appe ...
- 本地Git仓库与Github远程仓库同步
在本地创建了一个Git仓库后,还想在Github创建一个Git仓库,并使其远程同步.1.在电脑的用户主目录下有无.ssh目录,若有看是否有id_rsa和id_rsa.pub文件.若无,则创建SSH K ...
- HttpClient如何解决302重定向问题
最近的接口测试,发现接口地址报302错误,通过上网搜索,发现问题所在,解决办法是需要请求重定向后的URI. package com.btv; import org.apache.http.Header ...
- 最小生成树 kruskal hdu 5723 Abandoned country
题目链接:hdu 5723 Abandoned country 题目大意:N个点,M条边:先构成一棵最小生成树,然后这个最小生成树上求任意两点之间的路径长度和,并求期望 /************** ...
- MonoDevelop line endings
文件编码问题 这个让我头疼很久的问题,每次修改文件后,都会出现这个提示框. 解决办法 之前修改 D:\Program Files (x86)\Unity\Editor\Data\Resources\S ...
- vmware12安装vmtools
一. 1. 机器要开启支持BIOS的选项. 二. 1. 点击vmware 应用 vmware install 2. 虚拟机: tar xvf vmtools-distb.tgr.gz 3. 虚拟机: ...
- KVM虚拟机网络基础及优化说明
一个完整的数据包从虚拟机到物理机的路径是: 虚拟机--QEMU虚拟网卡--虚拟化层--内核网桥--物理网卡 KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领 ...
- transition的局限
transition的优点在于简单易用,但是它有几个很大的局限. (1)transition需要事件触发,所以没法在网页加载时自动发生. (2)transition是一次性的,不能重复发生,除非一再触 ...
- title与h1的区别
title与h1的联系: 从网站角度看,title更重于网站信息.title可以直接告诉搜索引擎和用户这个网站是关于什么主题和内容的. 从文章角度看,h1则是用于概括文章主题.用户进入内容页,想看到的 ...