一起谈.NET技术,利用.NET Framework4.0的源代码调试你的应用程序

  相关文章:利用ASP.NET MVC源代码调试你的应用程序

  .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");这个函数中,看图:

  按F11,进入MessgeBox类中。

  再按F11,进入IsValidMessageBoxButton方法中:

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

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

  • 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上下面代码包,选择下图的倒数第二个文件下载:

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

  最后,配置Visual Studio 2010。

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

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

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

  参考:

  http://referencesource.microsoft.com/

  Step Into .NET Framework 4.0 Source Code

时间: 2024-09-16 09:23:15

一起谈.NET技术,利用.NET Framework4.0的源代码调试你的应用程序的相关文章

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

.NET Framework 的部分源代码是开源的.这些源代码可以供我们学习和参考.也可在也平时调试应用,直接跳入这些开源了的.NET Framework的代码中.这样既可以学习MS放出来的代码,又可以帮助自己调试.下面我用一个WPF的简单的例子演示一下. 新建一个WPF应用程序,拖一个button,后台代码弹出一个messagebox就行了. private void button1_Click(object sender, RoutedEventArgs e) { MessageBox.Sh

一起谈.NET技术,利用ASP.NET MVC源代码调试你的应用程序

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE

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

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE

一起谈.NET技术,在MVC2.0使用Lodop为WEB打印提出完美解决方案

通过好友CallHot介绍Lodopweb打印控件.由于是国人开发的,故这两天认真了研究下,打算在未来的项目中使用.现将学习成果与园友分享.如果存在不足的地方,希望您指出. 具体的实现步骤如下: 一.准备工作   1.MVC2.0 + jQuery1.4.1 开发环境. 2.Lodop web 打印控件,官方地址:http://mtsoftware.v053.gokao.net/download.html  (注:国人开发,免费软件). 3.StringTemplate,C#开源模板引擎.官方地

一起谈.NET技术,Silverlight 4.0发布之际,让我们重新再认识一次Silverlight这位乱世英雄!

Microsoft Silverlight是微软所发展的 Web 前端应用程序开发解决方案,是微软丰富型互联网应用程序Rich Internet Application(简称RIA)策略的主要应用程序开发平台之一,以浏览器插件形式,提供 Web 应用程序中多媒体(含影音流与音效流)与高度交互性前端应用程序的解决方案,同时它也是微软 UX(用户体验)策略中的一环. Silverlight与WPF的关系? 在理解Silverlight之前,需要先了解WPF为何方神圣,并在一定程度上深入理解WPF的原

一起谈.NET技术,.NET 4.0 之 Dynamic 动态类型

一..NET4.0主要新特性 .NET4.0在.Net3.5基础上新增的主要特性有:可选参数.命名参数和Dynamic.具体请阅生鱼片的这篇博文.这里我们着重讲解C#4.0的Dynamic特性,对于其他特性大家可以在VS2010内尝试一下.总之.Net在不断进步中. 二.ExpandoObject普通应用 ExpandoObject 类,"需引用System.Dynamic命名空间" .请看以下代码: dynamic Customer = new ExpandoObject();Cus

一起谈.NET技术,ASP.NET2.0服务器控件之类型转换器

      类型转换器是实现自定义服务器控件属性过程中比较重要的内容.本文将对类型转换器的基本概念和实现方法进行介绍. 1. 类型转换器基本概念 类型转换器是自定义服务器控件的辅助性功能实现.它主要用于执行从字符串表示形式到指定类型之间的双向转换.例如,以文本形式表示属性值,将用户输入的文本转换为相应数据类型等等,都应用了类型转换器. 对于多数基本数据类型(如Int32.Bool.Char.String.枚举类型等),.NET框架已经为它们提供了默认的类型转换器,这些类型转换器完成从字符串到相关

一起谈.NET技术,.Net 4.0 Parallel 编程(五)Task (中)

在上篇文章中我们看过了如何创建Task,本篇文章就各种类型Task的使用进行说明. Task Continuations 首先我们来看看延续的Task,所谓的延续的Task就是在第一个Task完成后自动启动下一个Task.我们通过ContinueWith方法来创建延续的Task.我们假设有一个接受xml解析的服务,首先从某个地方接受文件,然后解析入库,最后返回回执是否解析正确: [TestMethod]public void TaskParallelPrint() { var ReceiveTa

一起谈.NET技术,NHibernate 3.0.0.Alpha1 发布及新特性介绍

发布 刚刚NHibernate的Leader--Fabio Maulo发布了NHibernate 3.0.0.Alpha1版本,这是NHibernate 3.0.0的第一个公开测试版本. 下载地址 你可以到这里下载NHibernate 3.0.0.Alpha1,基于.Net3.5平台,具体文件如下. NHibernate源码:NHibernate-3.0.0.Alpha1-src.zip NHibernate二进制文件:NHibernate-3.0.0.Alpha1-bin.zip 特性介绍 N