原來早在去年年底,Microsft 已經將 .NET Framework 一部分的原始碼釋放出來,讓大家在 Debug 的時候更加方便(讓你可以進入 Framework 的程式碼),而且也可以更加了解 Framework 裡面的內部結構。不過目前好像只有這幾個 DLL 有 (已更新到 SP1):
Mscorlib.DLL System.DLL System.Data.DLL System.Drawing.DLL System.Web.DLL System.Web.Extensions.DLL System.Windows.Forms.DLL System.XML.DLL WPF (UIAutomation*.dll, System.Windows.DLL, System.Printing.DLL, System.Speech.DLL, WindowsBase.DLL, WindowsFormsIntegration.DLL, Presentation*.dll, 以及一些其他) Microsoft.VisualBasic.DLL*資料來自 http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx
使用方式非常簡單,到 [工具] - [選項] - [偵錯] 設定這兩個選項:
- 將 [啟用 Just My Code (僅限 Managed)] 選項停用
- 然後將 [啟用來源伺服器支援] 啟用
這樣就可以了。接下來在程式碼隨便一個地方設中斷點,然後執行程式讓它中斷。在呼叫堆疊的地方選一個想要看原始碼的呼叫,滑鼠按右鍵然後選 [載入符號來源] - [Microsoft 符號伺服器]。等他下載完之後堆疊裡的呼叫就不會是反白,這時在呼叫上按兩下可以就可以看原始碼了,下圖是 System.Windows.Forms.Control 的原始碼:
沒有留言:
張貼留言