.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的源代碼了。也可以更加的方便找出你程序的問題。