`
jiasongmao
  • 浏览: 667029 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

利用.NET Framework4.0的源代码调试你的应用程序

    博客分类:
  • .NET
阅读更多

.NET Framework 的部分源代码是开源的。这些源代码可以供我们学习和参考。也可在也平时调试应用,直接跳入这些开源了的.NET Framework的代码中。这样既可以学习MS放出来的代码,又可以帮助自己调试。下面我用一个WPF的简单的例子演示一下。

    新建一个WPF应用程序,拖一个button,后台代码弹出一个messagebox就行了。

private void 
button1_Click(object 
sender, RoutedEventArgs 
e)
{
    MessageBox
.Show("hello word"
);
}

下面我将调试MessageBox.Show("hello word");这个函数中,看图:

eee

按F11,进入MessgeBox类中。

jjj

再按F11,进入IsValidMessageBoxButton方法中:

uuu

这样你就能看到平时你看不到的代码。

下面这些命名空间的代码是可以调试进去的:

system.activities.core.presentation
system.activities.durableinstancing
system.activities
system.activities.presentation
system.addin.contract
system.addin
system.configuration
system.core
system.data.datasetextensions
system.data.entity.design
system.data.entity
system.data.linq
system.data
system.data.services.client
system.data.services.design
system.data.services
system.data.sqlxml
system.drawing
system.identitymodel
system.identitymodel.selectors
system.io.log
system.management
system.messaging
system.net
system
system.printing
system.runtime.durableinstancing
system.runtime.remoting
system.runtime.serialization
system.security
system.servicemodel.activation
system.servicemodel.activities
system.servicemodel.channels
system.servicemodel.discovery
system.servicemodel.routing
system.servicemodel.washosting
system.servicemodel.web
system.transactions
system.web.dynamicdata
system.web.entity.design
system.web.entity
system.web.extensions
system.web.mobile
system.web
system.web.routing
system.web.services
system.windows.forms
system.workflow.activities
system.workflow.componentmodel
system.workflow.runtime
system.workflowservices
system.xaml.hosting
system.xml.linq
system.xml

 

 

 

下面叙述一下如何配置Visual Studio 2010实现这样的调试功能。

首先,到http://referencesource.microsoft.com/netframework.aspx 上下面代码包,选择下图的倒数第二个文件下载:

22

然后,安装,安装在一个你可以读写的目录下面,我是安装在D:\RefSrc。

最后,配置Visual Studio 2010。

1、Tools- Option – Debugging-General,按照下图修改我框起来的地方。

lll

2、Tools- Option – Debugging-Symbols,按照下图进行配置:

ffff

总结 :这个还不错吧。这样一来就可以在平时调试的时候参考和学习.NET Framework4.0的源代码了。也可以更加的方便找出你程序的问题。

参考:

http://referencesource.microsoft.com/

Step Into .NET Framework 4.0 Source Code

<script> function showmenu(strID) { var obj = document.getElementById(strID); var obj2 = document.getElementById('quick'); if (obj.style.display == &quot;none&quot;) { obj.style.display = &quot;block&quot;; obj2.innerHTML = &quot;【点击此行隐藏快捷留言板】&quot;; } else { obj.style.display = &quot;none&quot;; obj2.innerHTML = &quot;(点击此行显示快捷留言板)&quot;; } } function getElementsByClassName(n) { var el = [], _el = document.getElementsByTagName('*'); for (var i = 0; i &lt; _el.length; i++) { if (_el[i].className == n) { el[el.length] = _el[i]; } } return el; } function postsomethingtome(msg) { if (window.top.HaveUp) { alert('您已经顶过了!谢谢朋友 :)'); return; } var txt = document.getElementById('tbCommentBody'); if (txt != null) { txt.style.backgroundColor = &quot;#E4F5FF&quot;; var date = new Date(); txt.value = msg; // + '[快捷留言 on ' + date.toJSON() + ']'; txt.focus(); window.top.HaveUp = true; } //debugger; PostComment(); //txt.style.backgroundColor = &quot;&quot;; } function woyaoding() { postsomethingtome(&quot;好贴!我顶你!&quot;); tuijian() ; } function woluguo() { postsomethingtome(&quot;我是打酱油的!&quot;); } function ruanwen() { postsomethingtome(&quot;辛苦了,不过是篇软文!&quot;); } function tuijian() { var diggit = getElementsByClassName('diggit'); if (diggit != null) { eval(getdiggitOnclick(diggit)); } } function getdiggitOnclick(diggit) { var strOnclick = diggit[0].onclick.toString(); var firstIndex = strOnclick.indexOf('{'); var secondIndex = strOnclick.indexOf('}'); var length = strOnclick.length; var click = strOnclick.substr(firstIndex + 1, secondIndex - firstIndex - 1); return click; } var addEvent = function(obj, type, fn) { if (obj.addEventListener) obj.addEventListener(type, fn, true); else if (obj.attachEvent) { obj.attachEvent(&quot;on&quot; + type, function() { //eval(fn + &quot;()&quot;); fn(); }); } } </script> 作者:朱祁林
出处:http://zhuqil.cnblogs.com

分享到:
评论

相关推荐

    [其他类别]Microsoft .NET Framework 4.0 Beta 1 (x86)_

    .NET Framework 4.0 Beta 1 是微软推出的一个重要的软件开发平台,主要针对Windows操作系统,为开发者提供了构建、运行各种应用程序的基础。这个版本是.NET Framework 4系列的早期测试版本,旨在引入新功能并改进...

    .net Framework 4.0

    .NET Framework 4.0是微软开发的一个重要软件开发框架,为开发者提供了构建、运行基于Windows的应用程序所需的类库和运行时环境。这个版本发布于2010年,旨在提高性能、可伸缩性和安全性,同时也引入了许多新的特性...

    .NET Pet Shop 4.0源代码

    《.NET Pet Shop 4.0源代码深度解析》 ...通过深入研究.NET Pet Shop 4.0源代码,开发者可以深入了解.NET Web应用程序的开发流程,学习到从数据库设计到UI实现的全方位知识,为自己的职业生涯打下坚实的基础。

    fo-dicom .net4.0 环境可使用

    源代码的使用对于理解fo-dicom的内部工作原理、调试问题或扩展功能非常有帮助。 总之,fo-dicom是一个强大的开源库,适用于.NET Framework 4.0环境,它提供了全面的DICOM支持,涵盖了数据解析、网络通信、图像处理...

    .NET4.0平台

    .NET Framework 4.0是微软开发的一个重要软件开发框架,为开发者提供了丰富的工具和库,以便构建、部署和运行各种应用程序。这个安装平台是专为那些尚未安装.NET Framework 4.0的用户设计的,确保软件可以在不同操作...

    用EF4.0+ado.net4.0做的增删改查

    标题 "用EF4.0+ado.net4.0做的增删改查" 指的是使用Entity Framework 4.0(EF4.0)和ADO.NET 4.0这两个技术来实现数据库操作中的基本功能,即增加(Add)、删除(Delete)、修改(Update)和查询(Query)。...

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

    Cassini的主要优点在于,它允许开发者在本地计算机上运行和调试ASP.NET应用程序,而无需安装完整的IIS(Internet Information Services)或其他Web服务器。 在.NET Framework 3.5中,Cassini提供了以下关键功能和...

    SharpZipLib for .NET4.0

    - **Web应用程序**:在ASP.NET项目中,可以利用SharpZipLib提供文件下载服务,允许用户下载压缩后的文件包。 - **数据库导出导入**:对于大量数据库记录,可以先压缩再进行导出和导入,提高数据处理效率。 - **...

    Microsoft .NET Framework V4.0 版64位平台

    【Microsoft .NET Framework V4.0 64位平台】是一个关键的开发和运行环境,由微软公司提供,用于创建和执行基于Windows操作系统的应用程序。这个框架为开发人员提供了丰富的类库、语言独立性以及跨语言互操作性,极...

    VS2010 .NET 4.0 开发详解

    《VS2010 .NET 4.0 开发详解...教程可能涵盖从基础概念到高级技巧,包括创建项目、设计用户界面、编写业务逻辑、调试代码、部署应用程序等各个环节,旨在帮助开发者充分利用这两个平台的优势,提升开发效率和代码质量。

    .NET 4.0体系结构

    3. **Visual Studio 2010**:作为强大的集成开发环境,Visual Studio 提供了丰富的工具和调试功能,简化了.NET 应用程序的开发过程。 .NET Framework 从1.1版本发展至今,经历了多次迭代,不断改进和完善。在.NET ...

    圣殿祭司的ASP.NET4.0专家技术手册(源代码和数据库)

    《圣殿祭司的ASP.NET 4.0专家技术手册》是知名IT作者奚江华撰写的一本深度探讨ASP.NET 4.0...通过阅读和实践书中内容,读者可以深入理解ASP.NET 4.0的核心概念,以及如何利用这些知识来构建高效、稳定的Web应用程序。

    C#与.net 4.0数据库开发本书源程序

    《C#与.NET 4.0数据库开发》是一本针对初学者和有一定基础的开发者编写的书籍,旨在帮助读者深入理解和应用C#语言以及.NET Framework 4.0进行数据库开发。书中涵盖了C#编程基础、数据库理论、ADO.NET技术、Entity ...

    Introducing.dot.NET.4.0.with.Visual.Studio.2010

    首先,.NET Framework 4.0是微软开发框架的一次重大更新,它引入了大量新特性和性能优化,以提升开发效率和应用程序的性能。其中最重要的变化包括: 1. **多语言支持增强**:.NET 4.0扩展了语言集成查询(LINQ)的...

    asp.net petshop 4.0

    首先,我们要了解ASP.NET是微软推出的一种Web应用程序框架,它基于.NET Framework,用于构建动态网站、web应用程序和服务。ASP.NET Pet Shop 4.0利用了ASP.NET的多种特性,如页面生命周期管理、控件事件处理、视图...

    《ASP.NET4.0从入门到精通》随书教学视频

    1. **定义**:ASP.NET是微软推出的一种用于开发动态Web应用程序的技术框架,4.0版本是.NET Framework 4的一部分,发布于2010年。 2. **特点**: - **跨平台支持**:虽然主要针对Windows环境设计,但随着Mono项目的...

    .NET-4.0中的并行开发.docx

    .NET 4.0框架引入了并行编程的增强功能,主要集中在提高多核处理器环境下的应用程序性能。并行库提供了一系列新的类和方法,使得开发者能够更轻松地编写高效的并发代码,而无需深入理解底层线程管理的复杂性。本文将...

    ASP.NET4.0揭秘(英文版)

    - **技术背景**: ASP.NET是一种用于开发动态网页和Web应用程序的技术框架,由微软公司开发。它基于.NET Framework,支持多种编程语言如C#、VB.NET等。 - **目标用户**: 本书《ASP.NET 4.0揭秘》主要面向希望深入了解...

    ASP.NET.4.0开发入门

    ASP.NET 4.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework的基础之上,提供了丰富的功能和工具,让开发者能够高效地创建动态网站、Web应用程序和Web服务。本教程“ASP.NET 4.0开发入门”旨在...

    ASP.NET4.0入门到精通 书光盘源代码

    ASP.NET 4.0 是微软开发的一个用于构建Web应用程序的框架,它是在.NET Framework 4.0的基础上构建的。这个框架提供了丰富的功能和工具,使得开发者可以更高效地创建动态、交互式的网页和Web应用程序。《ASP.NET 4.0...

Global site tag (gtag.js) - Google Analytics