调试方式有二种, 看官方资料就OK.

官方地址: http://referencesource.microsoft.com/serversetup.aspx

1. 使用配置在线地址安装

2. 下载安装包(http://referencesource.microsoft.com/netframework.aspx)

3. 故障排除(有问题可以看看).

本人使用时遇到的问题:

开发环境:     Win7 64位, 本机只有Vs2010

问题1: 安要求配置后, 找不到源码, 要不就是显示反编译的一堆代码

问题原因: 所安装的源码的版本, 与本地的版本不匹配. (本来是安装360自动更新补丁或系统自带的系统更新, 会下载微软更新的.Net Framkwork 的补丁. ) (直接禁止用吧. 还是手动有选择的更新)

解决方法:

1. 查看已安装的更新, 从中卸载.Net framkwork的补丁. (这种方式不知道会不会有其他问题, 但问题可解决) (推荐)

2.

1) 在配置调试源代码下 运行程序(F5)(可以不用打断点).

按下CTRL+ALT+U 打开模块窗口. 以下举例, 要调试System.Web.dll, "符号文件列" 的地址就是源代码调试文件, 查看"版本列" 的版本号为4.0.30319.1

2) 使用只调试本机代码

F5 运行程序, 按下CTRL+ALT+U 打开模块窗口. 这里"符号文件列" 变空了.  查看"版本列" 这里是4.0.30319.1 built by:RTMRel

这里跟下载的源码的版本一样 , 就可以调试这个DLL了(只是该DLL, 其他可能不一样)

这里我是调整过的, 之前"版本列" 显示的与下载的源码是不一样的.

小版本号不一样(4.0.30319.****)***块不一样(如果是大版本号不一样, 就要看看本机设置的程序框架对不对或源码下载的版本不对).

而且后半部分为built by:RTMGDR(说明是有更新过补丁) , 而不是built by: RTMRel

例: "版本列" 为 4.0.30319.225

百度搜索: site:support.microsoft.com /kb system.web.dll 4.0.30319.225 (http://www.baidu.com/s?ie=utf-8&bs=site%3Asupport.microsoft.com+%2Fkb+system.web.dll+4.0.30319.272&f=8&rsv_bp=1&rsv_spt=3&wd=site%3Asupport.microsoft.com+%2Fkb+system.web.dll+4.0.30319.225&rsv_sug3=3&rsv_sug1=3&rsv_sug4=54&inputT=1840)

(居然是狗日的放在第一条记录....)

可以搜索出是什么补丁, 更新了该system.web.dll 这里是KB2468871补丁更新过system.web.dll文件.

(也可以找开该链接查看说明, 确认下该补丁是否有system.web.dll)

只找到这两个......大概就是了吧...又好像不是.....

然后去 查看已安装的更新, 找到KB2468871, 卸载. 再次F5程序->查看模板->该DLL版本列的版本号变了. 重复以上步骤. 直到把版本号变成一样(应该变成 built by:RTMRel )就可以了.

真没耐心一个个卸载, 我就直接把.Net Framework 下的所有补丁全删除了. 哈哈......(暂时问题....)

问题2:  双击堆栈的DLL, 不会直接跳转到源码, 会弹出选择源码, 默认的源码地址变f:\dd\ndp\fx……. 而不是我们设置的地址.

如果点取消也会弹出 找不到源文件, 该问题与问题1 不是同一个问题

解决: 设置里"启动源服务器支持"没有打勾.....

本机可运行配置

VS2010配置与VS2008(官方使用说明是2008的)有点不同.

多了一个启用.NET Framework源代码单步执行.  如下图配置就可以正常使用了.

符号. 这里我使用下载的包做为源, 也可以使用URL

VS2008: D:\RefSrc3.5\Symbols 一定要加Symbols, 调试文件在该目录下.

资料:

1.  http://stackoverflow.com/questions/8139269/how-to-enable-enable-net-framework-source-stepping (我也是看了这个才解决的)

2. .NET Framework 版本列表: http://en.wikipedia.org/wiki/List_of_.NET_Framework_versions

.net framework 源码调试 与 问题解决的更多相关文章

  1. Android FrameWork 学习之Android 系统源码调试

    这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会 ...

  2. Android FrameWork学习(二)Android系统源码调试

    通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android 系统源码,今天 ...

  3. .net源码调试 http://referencesource.microsoft.com/

    其实关于.net源码调试 网上的资料已经很多了,我以前转载的文章有 VS2010下如何调试Framework源代码(即FCL) 和 如何使你的应用程序调试进.NET Framework 4.5源代码内 ...

  4. 后端开发工具:反编译工具、VS插件、.NET Framework源码地址

    再学习.工作中,开发免不了要使用第三方工具.今天介绍2款反编译工具 一.dnspy 免安装.免费.可调试.可修改重新编译dll 开源项目地址:https://github.com/0xd4d/dnSp ...

  5. 开启Tomcat 源码调试

    开启Tomcat 源码调试 因为工作的原因,需要了解Tomcat整个架构是如何设计的,正如要使用Spring MVC进行Web开发,需要了解Spring是如何设计的一样,有哪些主要的类,分别是用于干什 ...

  6. 在Eclipse中进行HotSpot的源码调试--转

    原文地址:http://www.linuxidc.com/Linux/2015-05/117250.htm 在阅读OpenJDK源码的过程中,经常需要运行.调试程序来帮助理解.我们现在已经可以编译出一 ...

  7. Source Insight 基本使用(1)-使用Source Insight查看Android Framework 源码

    一.下载framework源码: google已经把framework源码托管在了gitHub上: https://github.com/android/platform_frameworks_bas ...

  8. [原创]在Windows和Linux中搭建PostgreSQL源码调试环境

    张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工 ...

  9. (一)一起学 Java Collections Framework 源码之 概述

    . . . . . 目录 (一)一起学 Java Collections Framework 源码之 概述 JDK 中很多类 LZ 已经使用了无数次,但认认真真从源码级研究过其原理的还只占少数,虽然从 ...

随机推荐

  1. Objective-C 【This is ARC】

    ------------------------------------------- ARC的概念及原理 (1)指针分类 强指针:默认情况下,所有的指针都是强指针,关键字strong 弱指针:_ _ ...

  2. 前台JS(Jquery)调用后台方法 无刷新级联菜单示例

    前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 http://www.dtan.so CasMenu.aspx页 ...

  3. 20150222—LINQ to SQL 插入、更新和删除

    注意,使用LINQ to SQL时, 表中必须有一个主键才可以起效,否则系统将无法对数据作出修改 插入新数据,根据上一片的文章实例在其中添加新的控件: 编号TextBox(Name):sno 名字Te ...

  4. Java序列化与反序列化(Serializable)

    Java序列化与反序列化(Serializable) 特别注意: 1.要序列化的类必须实现Serializable借口 2.在反序列化(读取对象)的时候必须额外捕获EOFException 3.序列化 ...

  5. gcc与g++的区别

    一:gcc与g++比较 编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确, ...

  6. 大数求模 sicily 1020

        Search

  7. 使用 CocoStudio UI 编辑器实现《乱斗堂》设置界面

    由于是引用别人的,所以直接贴上地址了.http://www.cocoachina.com/bbs/read.php?tid=164820&fpage=7 1 游戏中必不可少的 UI 元素    ...

  8. gcc常用选项

    gcc选项:    -c         只编译,不链接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件.    -std=     指 ...

  9. Silverlight动画的基本知识、关键帧动画

    基础知识 (一)动画:是快速播放一系列图像(其中每个图像与下一个图像略微不同)给人造成的一种幻觉 (二)动画类型:两类    (1)From/To/By动画:在起始值和结束值之间进行动画处理.     ...

  10. PHP 5.3.X 连接MS SQL Server php_mssql.dll

    在网上搜索了一下PHP 5.3.X 连接SQL Server的办法,有人也遇到了这个问题 原来PHP 团队在PHP 5.3 中移除了SQL Server的驱动和库,而微软自己开发了针对PHP的SQL驱 ...