首先,這個功能在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”設置
你的設置會如下面所示:
圖1
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上設置個斷點:
圖3
運行你的工程命中斷點,到調用堆棧窗口(CTRL+ALT+C).在調用堆棧裡,右鍵單擊 System.Windows.Forms.dll,然後選擇“Load Symbols”。這樣會給 System.Windows.Forms程序集加載符號,大小大概10M,所以下載速度就看看你的網絡連 接速度怎麼樣了。注意:在這個過程中Visual Studio會沒有任何響應的。但是,這個下 載對每個程序集來說只需要一次。這個符號(PDB)文件會緩存在你的機器上,在你剛才定 義的文件夾裡。
圖4
這樣就會從服務器上下載這個DLL的符號了,你可以在狀態欄裡看到一些信息反映這個 。注意:這個完成後調用幀字體會變成黑色,並且行號也可用了。注意:在每次調試會話 中你都需要右鍵單擊然後選擇“Load Symbols”(但是,第二次的時候,這個符號已經緩 存在本地了,所以無需再下載它們)。要了解更多信息請欣賞下面的高級用篇。
圖5
你已經下載了Windows Forms DLL的符號,現在可以查看代碼了。你可以Step In上面 的的代碼行,也可以在調用堆棧裡雙擊某一幀。在這裡我們Step In(F11)。
在第一次進入代碼的時候,我們會顯示EULA。花點時間閱讀EULA,如果你同意點擊 ACCEPT,然後這個源代碼就會下載下來。
就這樣,你可以調試.net框架源代碼了。
圖6
現在,對每個你想調試的程序集,只要重復上面的步驟就可以了(注意:你只會看到一 次EULA,不是每次都會看到的)。
有的時候,你要調試的程序集並不在調用堆棧上,比如下面這個例子:
圖7
在你調試進入Graphics.DrawRectangle,你需要加載System.Drawing.dll的符號。打 開Modules Window(CTRL+ALT+U)。這個列表會顯示調試中所有加載的模塊(DLLs).在列表 中找到System.Drawing.DLL,右鍵單擊,然後選擇Load Symbols。
圖8
注意:一旦符號文件下載了,符號文件會顯示在“Symbol File”列中。
你現在可以使用F11進入Graphics.DrawRectangle的代碼了。在這個case中,你會先進 入PaintEventArgs.Graphics屬性的代碼。