`
yacki
  • 浏览: 47268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

解决调试.net framework源代码时遇到的问题

阅读更多
项目中遇到棘手问题,需要彻底搞清.net Framework中关于SOAP webservice proxy的一些实现的细节。

从Visual Studio 2008开始,开发者可以通过设置Visual Studio,跟踪.net Framework内部代码。

具体方法如下:

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

更详细的说明如下:

http://blogs.msdn.com/b/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx

然后,经过这样的设置,我的Visual Studio 2010(SP1)仍然无法调试。具体现象是,堆栈可以正确显示,但双击后只显示汇编,没有C#代码。

反复尝试了远程下载代码与本地代码两种方式,但发现仍然不起作用。

在Google了一圈之后,找到了这篇文章:

http://www.cnblogs.com/bbcyyb/archive/2012/08/22/2650328.html

它指出,由于MS对文件版本有极高的要求(GUID一致),有可能是.net Framework小版本不同,可能导致搜索代码时错误。

由于安装的SP1和Windows自动更新得到的.net Framework都有可能造成这个问题,为了诊断这个问题,我将VS2010删除后重新安装。问题得以解决。

然后我再次安装了VS2010SP1,问题竟然依然存在!检查系统日志后发现,在我安装SP1时,Windows Update后台自动安装了.net Framework4的几个补丁。我尝试将版本号大于SP1的几个补丁全部删除。再次进入VS2010后发现,调试成功进入.net Framework源代码!

整整折腾了一下午之后,得出结论:VS2010的Framework调试,其Framework的版本必须是.net Framework 4或.net Framework 4 SP1,其它任何中间的小版本升级,都会导致调试器不可用,因为Microsoft在其服务器上只公布了这两个版本的源代码。

注:事实上Microsoft公布了三个版本的源代码,第三个版本的源码对应哪个.net Framework的子版本不得而知。由于精力有限,没有一一尝试。
分享到:
评论

相关推荐

    如何调试.net framework的源代码

    调试.NET Framework源代码是一项高级开发任务,它允许开发者深入了解.NET Framework内部的工作机制,解决复杂的bug或性能问题。本文将详细讲解如何配置Visual Studio 2008以进行.NET Framework源代码的调试。 首先...

    微软.NET Framework开源代码SSCLI

    11、debug - 包含运行时调试器的源代码。 12、ilasm - 包含 CIL 汇编器的源代码。 13、ildasm - 包含 CIL 反汇编器的源代码。 14、tools - 包含 PEVerify、clix.exe、metainfo.exe、托管调试器符号的读写器以及其它...

    剖析.net framwork源代码系列课程 6

    《剖析.NET Framework源代码系列课程 6》是由微软中国的专家付仲恺主讲的一门深入解析.NET Framework核心源代码的课程。在这个课程中,我们将会深入到.NET Framework的内部机制,理解其工作原理,这对于提升.NET...

    .net framework2.0 源代码1

    通过研究这些源代码,开发者能够更深入地了解.NET Framework 2.0的内部机制,从而更好地优化自己的应用程序,解决实际问题。 首先,我们来看看.NET Framework 2.0的核心组件。它包括Common Language Runtime (CLR)...

    .net 计算器源代码!

    标题中的".net 计算器源代码"指的是一个基于.NET框架编写的计算器应用程序的源代码。这个源代码提供了实现计算器功能的所有细节,包括基本的算术运算、逻辑运算以及可能的高级功能,如求平方根、对数等。开发者可以...

    配置Visual Studio 以调试.net framework源代码第1/2页

    在.NET Framework开发中,有时需要深入理解框架内部的工作机制,这时能够调试.NET Framework源代码就显得尤为重要。本文将介绍如何配置Visual Studio 2008以实现这一目标。请注意,这个功能在Visual Studio 2008 ...

    一个优秀的包含 Cassini Version For .NET Framework 3.5的源程序代码

    9. **版本兼容性**:虽然这个源代码是针对.NET 3.5的,但它仍然对理解.NET Framework后续版本的Web服务器工作原理有所帮助,因为基础概念和架构是相似的。 10. **调试友好**:使用Cassini,开发者可以直接在代码中...

    .Net江湖源代码

    在学习《.Net江湖源代码》时,首先需要对.NET Framework有一定的了解。这是一个全面的开发平台,包含了运行所有.NET应用程序所需的类库、编译器和运行环境。.NET Framework的核心组件包括公共语言运行库(Common ...

    asp.net实例源代码合集

    这个"asp.net实例源代码合集"显然是一个包含多种ASP.NET应用场景的代码库,可能涵盖从基础到高级的各种技术。 在ASP.NET中,你可以了解到以下关键知识点: 1. **页面生命周期**:ASP.NET页面经历一系列的生命周期...

    Visual Studio Code 源代码(.net).7z

    在实际开发中,通过研究源代码,开发者可以解决遇到的疑难问题,比如调试性能瓶颈,或者自定义.NET组件。对于.NET框架的贡献者和开源爱好者,这些源代码更是宝贵的资源,他们可以直接参与.NET的发展,提出改进意见,...

    源代码极品 .NET Framework 2.0 Sources

    .NET Framework 2.0 Sources 是一个极其珍贵的资源,它提供了.NET Framework 2.0版本的核心组件源代码,包括了对系统级库的深入理解,是开发者和研究人员探索.NET平台内部工作原理的重要参考资料。这个压缩包包含了...

    .NET Framework 高级编程

    当源代码被编译时,它会被转换为 CIL,一种平台无关的中间语言。CIL 代码在运行时由 CLR 解释并执行,这允许跨语言的互操作。 3. **.NET 类库** .NET Framework 提供了大量的预构建类库,如 System, System.IO, ...

    一个asp.net论坛源代码下载

    源代码中可能会包含异常捕获和日志文件的编写,以便于调试和问题排查。 10. **SEO优化**:考虑到搜索引擎友好性,源代码可能包含元标记的处理、URL重写和Sitemap的生成,有助于提升论坛在搜索引擎中的排名。 通过...

    剖析.net framwork源代码系列课程3

    《剖析.NET Framework源代码系列课程3》是由微软中国的专家付仲恺主讲的一门深入解析.NET Framework核心源代码的专业课程。这门课程旨在帮助开发者更深入地理解.NET Framework的工作原理,提升开发技能和解决问题的...

    《.NET Framework专业项目实例开发》源代码

    《.NET Framework专业项目实例开发》是一本深入探讨.NET Framework技术的书籍,其源代码包含了一系列实际项目的实现,旨在帮助开发者提升在.NET平台上的编程技能。这本书的重点是通过实例来阐述.NET Framework的核心...

    asp.net教学源代码

    源代码可能包含了错误处理和日志记录的部分,帮助初学者理解如何在开发过程中定位和解决问题。 通过分析和实践这些源代码,初学者可以逐步掌握ASP.NET的开发技巧,了解Web应用程序的工作原理,为今后的进阶学习...

    .net 计算器源代码

    《深入剖析.NET计算器源代码》 在编程领域,学习并理解现有的...通过深入分析和实践这个.NET计算器源代码,你不仅可以掌握.NET开发的基础,还能提升你的编程思维和问题解决能力,为未来的.NET项目开发打下坚实基础。

    基于.NET FRAMEWORK2.0的多功能记事本

    1. **增强的文本格式化**:支持多种字体、颜色、大小、高亮和样式,甚至可能有源代码语法高亮。 2. **查找和替换**:高级搜索功能,支持正则表达式,可以进行全文本或选定文本的查找与替换。 3. **宏录制和执行**:...

    Asp.net源代码

    在深入探讨Asp.NET源代码时,我们需要了解的关键概念包括: 1. **页面生命周期**:Asp.NET Web Form的生命周期涉及初始化、加载、验证、呈现和卸载等阶段,理解这些阶段对于调试和优化代码至关重要。 2. **控件事件...

Global site tag (gtag.js) - Google Analytics