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

简介:   相关文章:利用ASP.NET MVC源代码调试你的应用程序  .NET Framework 的部分源代码是开源的。这些源代码可以供我们学习和参考。也可在也平时调试应用,直接跳入这些开源了的.NET Framework的代码中。

  相关文章:利用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");这个函数中,看图:

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

目录
相关文章
|
14天前
|
C# Windows
.NET开源免费的Windows快速文件搜索和应用程序启动器
今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大的Windows快速文件搜索和应用程序启动器:Flow Launcher。
|
4月前
|
算法 Java 调度
|
7月前
|
Kubernetes 关系型数据库 数据库
.netcore应用容器化部署
.netcore应用容器化部署
|
7月前
|
Kubernetes 数据库 C++
.netcore应用在WSL中的容器化部署
前面,我们讲解了如何在wsl中安装数据库,.netcore运行时,以及如何发布一个.netcore应用,为了构成一个完整的小系列,本节,我们来学习一下,如何将.netcore应用在WSL中容器化。
|
7月前
|
安全 C# 开发工具
模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
模拟.NET实际应用场景,综合应用三个主要知识点:一是使用dnSpy反编译第三库及调试,二是使用Lib.Harmony库实现第三库拦截、伪造,三是实现同一个库支持多版本同时引用。
模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
|
7天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012
|
6月前
|
Go
Golang 语言怎么使用 net/http 标准库开发 http 应用?
Golang 语言怎么使用 net/http 标准库开发 http 应用?
26 0
|
7月前
|
关系型数据库 MySQL 容器
.netcore应用容器化时更改Expose端口无法访问
.netcore应用容器化时更改Expose端口无法访问
|
4月前
|
小程序 安全 JavaScript
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题
.NET微信网页开发之通过UnionID机制解决多应用用户帐号统一问题