年终福利:调试.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 ...
随机推荐
- HTTP协议状态码
如果向您的服务器发出了某项请求要求显示您网站上的某个网页(例如,当用户通过浏览器访问您的网页或在检测工具抓取该网页时),那么,您的服务器会返回 HTTP 状态代码以响应该请求. 一些常见的状态代码为: ...
- FZU Problem 2150 Fire Game
Problem 2150 Fire Game Accept: 145 Submit: 542 Time Limit: 1000 mSec Memory Limit : 32768 KB P ...
- makefile中的伪目标
伪目标就是总是被执行的目标,相对于目标来说,伪目标不会去考虑它的依赖的时间戳与自己时间戳的新旧关系,从而决定是否执行规则.伪目标格式: .PHONY:clean clean: -rm *.o 在mak ...
- Hive beeline update
Hive cli vs beeline The primary difference between the two involves how the clients connect to Hive. ...
- 第23章 SEH结构化异常处理(1)_系统SEH机制
23.1 基础知识 23.1.1 Windows下的软件异常 (1)中断和异常 ①中断是由外部硬件设备或异步事件产生的 ②异常是由内部事件产生的,可分为故障.陷阱和终止三类. (2)两种异常处理机制: ...
- java 8-7 接口
1. 接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用implements表示 class 类名 implements 接口名 {} C:接口不 ...
- [知乎] 刚开始学习 iOS 开发有什么书推荐呢?
http://www.zhihu.com/question/19649679 我来说说我学习的过程:(无耻的使用一个回答 回答了很多问题.^^) 第一步,精读 Stephen G. Kochan 的& ...
- SAP中主数据和单据的删除
在SAP实际操作的过程中,有些主数据或者单据需要删除,但是删除的方法却不尽相同,所以笔者今天总结了下,供大家参考. 1,用T-Code去删除 例如我们要删除某个物料,我们可以用T-Code MM06 ...
- 对window的认识
首先要明确: 不管是全局的函数还是全局的变量,都是属于window的,例如: a = 12; //全局变量 alert(a) === alert(window.a) function show(){ ...
- spring核心组件
spring的对象是bean组件,就像面向对象的object,bean包装的是object.context的作用,发现每个bean之间的关系,为他们之间建立好这种关系并进行维护.所以,可以把conte ...