.NET Framework開源詳細配置

iDotNetSpace發表於2009-01-12

看到.net框架程式碼釋出了,興奮了一下,把在Visual Studio 2008上配置的內容翻譯了一下,只翻譯了原文的基本步驟,高階使用者篇和QA沒有翻譯。要欣賞原文請點選這裡

基本步驟
注意,這個功能在Visual Studio 2008 Express版裡不支援。
1)安裝Visual Studio 2008 QFE。這個QFE只是更新一個Visual Studio偵錯程式的DLL,以便可以獲取原始碼,
更多細節參加下載頁面。
2)執行Visual Studio 2008依次展開Tools->Options->Debugging->General。如果你在Visual Basic Profile環境下
執行,你需要將lower left of the Options Dialog標記為"Show All Settings",然後繼續(其它配置沒有這個選項).
設定以下兩個設定:
關閉"Enable Just My Code"設定
開啟"Enable Source Server Support"設定

你的設定會如下面所示:

3)下一步,選擇"Symbols"頁,然後設定符號下載URL和快取位置。設定以下三個配置:
設定符號檔案位置為:http://referencesource.microsoft.com/symbols
設定快取位置。保證你的賬戶能讀寫這個位置。一個好建議是將這個路徑設定為
開啟"Search the above locations only when symbols are loaded manually"選項
設定完畢後,應該如下圖所示

設定完畢。
除錯進入框架的原始碼
通過這個例子,我們從一個空的C# Windows Application project開始,同樣它可以在VB,Web或WPF工程上工作。建立這個工程:
在Form_Load上設定個斷點:

執行你的工程命中斷點,到呼叫堆疊視窗(CTRL+ALT+C).在呼叫堆疊裡,右鍵單擊System.Windows.Forms.dll,然後
選擇"Load Symbols"。這樣會給System.Windows.Forms程式集載入符號,大小大概10M,所以下載速度就看看你的網路連線速度怎麼樣了。注意:在這個過程中Visual Studio會沒有任何響應的。但是,這個下載對每個程式集來說只需要一次
。這個符號(PDB)檔案會快取在你的機器上,在你剛才定義的資料夾裡。

這樣就會從伺服器上下載這個DLL的符號了,你可以在狀態列裡看到一些資訊反映這個。注意:這個完成後呼叫幀字型會變成
黑色,並且行號也可用了。注意:在每次除錯會話中你都需要右鍵單擊然後選擇"Load Symbols"(但是,第二次的時候,這個符號已經快取在本地了,所以無需再下載它們)。要了解更多資訊請欣賞下面的高階用篇。

你已經下載了Windows Forms DLL的符號,現在可以檢視程式碼了。你可以Step In上面的的程式碼行,也可以在呼叫堆疊
裡雙擊某一幀。在這裡我們Step In(F11).
在第一次進入程式碼的時候,我們會顯示EULA。花點時間閱讀EULA,如果你同意點選ACCEPT,然後這個原始碼就會下載下來。
就這樣,你可以除錯.net框架原始碼了。

現在,對每個你想除錯的程式集,只要重複上面的步驟就可以了(注意:你只會看到一次EULA,不是每次都會看到的).
有的時候,你要除錯的程式集並不在呼叫堆疊上,比如下面這個例子:

在你除錯進入Graphics.DrawRectangle,你需要載入System.Drawing.dll的符號。開啟Modules Window(CTRL+ALT+U)。這個列表會顯示除錯中所有載入的模組(DLLs).在列表中找到System.Drawing.DLL,右鍵單擊,然後選擇Load Symbols.

注意:一旦符號檔案下載了,符號檔案會顯示在"Symbol File"列中。
你現在可以使用F11進入Graphics.DrawRectangle的程式碼了。在這個case中,你會先進入PaintEventArgs.Graphics屬性的程式碼。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-536489/,如需轉載,請註明出處,否則將追究法律責任。

相關文章