基本步驟
注意,這個功能在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"選項
設定完畢後,應該如所示(注意,這裡我陳璐建議是不勾選第一個,勾選第2個,如果不這樣很多源碼進不去的!注意觀察“調試堆棧”,可以掌握程式的一步步的入口)
設定完畢。
調試進入架構的原始碼
通過這個例子,我們從一個空的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屬性的代碼。