对于 .net framework 中的代码,光拿 Reflector 看是不够过瘾的,如果能够调试进去就好了!

其实,微软是提供了一套 sourcecode 的下载的:

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

下载后运行安装文件把 source 和 symbols 安装到本地,这没啥好说的。

关键是下面在 Visual Studio 2010 中的配置:

1. 运行 Visual Studio 2010

2. 从 Tools 菜单中选中 Options 项

3. 在 Options 对话框中选择 Debugging->General

Uncheck "Enable Just My Code (Managed only)"

Check "Enable source server support"

Uncheck "Require source files to exactly match the original version"

Optional: Uncheck “Step over properties and operators (Managed only)”

4. 选择 Debugging->Symbols

在Symbol file(.pdb) locations: 区域, 点击"新建"按钮,在新添加的 checkbox 后面输入刚才安装的 Symbols 目录(也就是..\RefSrc\Symbols)。

设定一个目录用于缓存 Symbols。点OK!!

好了,现在你就可以在你的项目中按F11进入 framework 的 sourcecode 了, enjoy it !

如果碰到什么问题的话,可以参考下面这篇文章中的 Troubleshooting 部分:

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

http://weblogs.asp.net/rajbk/setting-up-visual-studio-2010-to-step-into-microsoft-net-source-code

. net 源代码调试的更多相关文章

  1. 利用ASP.NET MVC源代码调试你的应用程序[转]

    由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试AS ...

  2. Arcgis Runtime 100.3开发实例源代码调试日志

    Arcgis Runtime 100.3开发实例源代码调试日志 路径: "D:\arcgis runtime1003\arcgis-runtime-samples-dotnet-master ...

  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  4. 让你发布的nuget包支持源代码调试

    前情概要 在不久的从前(也还是要以年为单位哈), 我们如果需要调试第三方代码, 或者框架代码很麻烦. 需要配置symbols, 匹配原始代码路径等. 为此, MS推出了 Source Link 功能, ...

  5. numpy C语言源代码调试(三)

    鉴于ddd过于简陋,希望找一个新一些的调试工具,看到有很多人推荐gdbgui,这是一个非常新的调试工具,前端使用浏览器,现在采用这一架构的软件越来越多,可以完全不必依赖庞大的gui类库,安装使用比较方 ...

  6. numpy C语言源代码调试(一)

    近期学习numpy,希望了解numpy内部实现机制,尝试调试numpy的源代码,特别是其中的C语言源码. 在numpy的官方网站上,有numpy的开发人员手册: https://docs.scipy. ...

  7. .NET Core使用Source Link提高源代码调试体验和生产效率

    前言: 在我们日常开发过程中常常会使用到很多其他封装好的第三方中间件(NuGet依赖项).类库或者是.NET框架中自带的库.但是当你想要对这些类库的方法设置断点调试,然后发现无法F11(逐语句)调试进 ...

  8. 基于ivy的源代码调试方法

    项目PORJ_TEST是项目PROJ的测试项目.在它的ivy中引用了PROJ的jar包.由于PROJ正处于开发阶段,源代码更改频繁, 在运行PROJ_TEST中的测试时,需要进入PROJ的jar包内部 ...

  9. numpy C语言源代码调试(二)

    前一篇已经介绍,可以使用gdb进行调试,但是本人不太习惯gdb的文本界面,所以希望找一个比较好用的gdb的前端gui调试器. 想到的第一个是一个非常老的调试工具,DDD. DDD - Data Dis ...

随机推荐

  1. Loadrunner web_reg_find 和web_reg_save_param 比较

    通常web_reg_find用于文本查找,其属性SaveCount是当改文本找到后该参数为1,如果没找到则为0,并且函数不会因为没找到而报错.可以用此参数值用于标志位判断. web_reg_find( ...

  2. vue 数据劫持 响应式原理 Observer Dep Watcher

    1.vue响应式原理流程图概览 2.具体流程 (1)vue示例初始化(源码位于instance/index.js) import { initMixin } from './init' import ...

  3. margin赋值为负值的几种效果(负值像素,负值百分数)

    1.margin-top为负值像素 margin-top为负值像素,偏移值相对于自身,其后元素受影响,见如下代码: <!DOCTYPE html> <html lang=" ...

  4. pushlet单播与多播

    近期要弄一个消息推送的功能,在网上找了非常多的关于pushlet的文章,尽管写的都非常具体,可是本人看了以后却总认为是模棱两可···不知道怎样下手,终于參考了这些文章中的一些内容,并结合官网的源码.做 ...

  5. 解决 windows10 system service exception蓝屏

    解决方法: WINDOWS/system32/config/RegBack/SYSTEM/* 复制到 WINDOWS/system32/config/*下

  6. ZOJ2750_Idiomatic Phrases Game(最短路)

    Idiomatic Phrases Game Time Limit: 2 Seconds      Memory Limit: 65536 KB Tom is playing a game calle ...

  7. 杀戮天使(Angels of Death)无删减版 高清下载

      Created by Marydon on 已完结 免责声明 本人所提供的资源搜集于网络,仅供学习交流使用,不得进行任何商业及非法用途,由此产生的一切后果将由使用者本人承担: 本人仅仅提供一个观摩 ...

  8. 细说HTML元素的隐藏和显示

    CSS文档对HTML的显示和隐藏有2个属性可供选择: 1.display 2.visiblity 这2个有什么区别呢? display: display版本:CSS1/CSS2 兼容性:IE4+ NS ...

  9. Flask接通微信公众号

    import hashlib import xml.etree.ElementTree as ET from flask import Flask, request import time app = ...

  10. asp mvc @Html.CheckBox("sel",true) 往后台传值问题

    @Html.CheckBox("sel",true) 生成2个输入,而不是一个,这是为什么呢? <input checked="checked" id=& ...