年终福利:调试.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 ...
随机推荐
- Linux SELinux命令
getsebool与setsebool工具 说明:SELinux规范了许多boolean数值清单档案,提供开启或关闭功能存取项目,而这些值都存放在/selinux/booleans/目录内相关档案,这 ...
- MVC+AjaxFileUpload文件上传
来源:微信公众号CodeL 本次给大家分享的是ajaxfileupload文件上传插件,百度一大堆功能超炫的文件上传插件,为什么我们会选择这个插件呢? 原因是在此之前,我们尝试使用过很多基于flash ...
- python实现插入排序
代码如下@.·.@ # *-* coding: utf- *-* if __name__ == '__main__': def insert_sort(l): ,len(l)): tmp = l[i] ...
- [cocos2dx]让CCScrollView支持分页
[cocos2dx]让CCScrollView支持分页 做过IOS开发的朋友, 肯定知道UIScrollView有一个isPaged属性. 当设置其为true的时候, 滑动会自动分页. 即, 每次滑动 ...
- HDU 4455 Substrings --递推+树状数组优化
题意: 给一串数字,给q个查询,每次查询长度为w的所有子串中不同的数字个数之和为多少. 解法:先预处理出D[i]为: 每个值的左边和它相等的值的位置和它的位置的距离,如果左边没有与他相同的,设为n+8 ...
- PAT 1063 Set Similarity (25)
题意:给你n个集合,k次询问,每次询问求两个集合的(交集)/(并集). 思路:k有2000,集合大小有10000.先将每个集合排序,对每个询问分别设两个指针指向两个集合的头.设a[i]为指针1的值,b ...
- 解决linux部署项目后,第一次访问初始化数据源的时候很慢的问题
先说一下场景 测试环境是linux - centos6.5,项目是分布式的,分别搭建到linux上 数据货使用的是阿里巴巴数据源 每次重启后的第一次访问会比较慢,查看日志发现 卡在这个地方 ...{d ...
- lcx转发 【解决内网没法链接3389 的问题】
要求我自己在外网 然后监听1111端口,将1111端口数据流量转发至2222端口 被入侵主机上 将本地的2222端[愿3389 主机修改了远程连接的端口]口流量转发至外网ip的1111端口 2222为 ...
- Volley(六 )—— 从源码带看Volley的缓存机制
磁盘缓存DiskBasedCache 如果你还不知道volley有磁盘缓存的话,请看一下我的另一篇博客请注意,Volley已默认使用磁盘缓存 DiskBasedCache内部结构 它由两部分组成,一部 ...
- 使用CSS3制作72个webapp图标
前言 移动网络带宽的快慢直接影响webapp应用体验效果的优差,其中加载图片是很耗流量的,所以对这一方面的性能优化是很需要的.一般对于那些小而多的图片(图标)都会采用sprite合并成一张图片来减少h ...