VS2008中檢視.NET原始碼的設定方法
(5)選擇“Debugging->Symbols”頁,然後設定符號下載URL和快取位置。設定為:http://referencesource.microsoft.com/symbols 。
(6)設定符號的本地快取位置。如:C:/temp/symbols。注意確保你的Windows賬戶能讀寫這個位置。
(7)開啟“Search the above locations only when symbols are loaded manually”選項。表明只有當symbols被手動載入得情況下才使用。在這種模式下,第一次進入需要進入.NET Framework中的某一個dll時,需要手動執行Load Symbols操作(注:每個dll只有一次,之後它就被快取到(6)所設定的本地快取中了)。如果嫌麻煩,這裡也提供了一個簡單的方法,即勾選“Load symbols using the updated setting when this dialog is closed”,表明當這個設定視窗關閉的時候,立即下載所有的symbols(這將需要幾分鐘~幾十分鐘,根據網速決定),這樣就不用以後再手動Load symbols操作了。
通過以上的設定後,在除錯程式的時候就可以進入框架的原始碼了。通過例子看一下,建立這個工程,並設定個斷點。執行程式到斷點停止時,到呼叫堆疊視窗(CTRL+ALT+C)右鍵單擊一個dll(如:System.Windows.Forms.dll),然後選擇“Load Symbols”,這樣會給System.Windows.Forms程式集載入符號。注意:如果在配置過程中採用了當時一次性下載了所有的symbols的話,這裡的Load Symbols可以省略不做。
現在可以檢視程式碼了。你可以Step In(F11)上面的的程式碼行,在第一次進入程式碼的時候,我們會顯示EULA,點選ACCEPT,然後這個原始碼就會下載下來,可以除錯.net框架原始碼了。
通過這種方式檢視的原始碼並非全部,這次釋出的版本中包含的名稱空間有:
◆System
◆System.CodeDom
◆System.Collections
◆System.ComponentModel
◆System.Data
◆System.Diagnostics
◆System.Drawing
◆System.Globalization
◆System.IO
◆System.Net
◆System.Reflection
◆System.Runtime
◆System.Security
◆System.Text
◆System.Threading
◆System.Web
◆System.Web.Extensions
◆System.Windows
◆System.Windows.Forms
◆System.Xml