前幾天在 Reference Source Code Center Team Blog 已經公告 .NET Framework 3.5 SP1 的部分原始碼已經掛到 Reference Source Code Center (RSCC) 伺服器了,這代表各位可以在 Visual Studio 2008 中針對這些已開放的組件進行原始碼偵錯,另一方面也可以從 .Net Framework Library 學習到更深的技術細節。
第一波已開放原始碼的組件有如下項目,未來還會針對 WPF 相關的組件也開放原始碼:
- mscorlib.dll
- Microsoft.Visualbasic.dll
- System.dll
- System.Web.Routing.dll
- System.Data.dll
- System.ComponentModel.DataAnnotations.dll
- system.Drawing.dll
- System.Web.Abstractions.dll
- System.Web.dll
- System.Web.DynamicData.Design.dll
- System.Web.Extensions.dll
- System.Web.DynamicData.dll
- System.Windows.Forms.dll
- System.Web.Extensions.Design.dll
- System.Xml.dll
若你要在 Visual Studio 2008 中追蹤 .NET Framework 3.5 SP1 的原始碼,可以從這裡得知如何設定,以下是我設定的心得分享:
1. 首先,你的 Visual Studio 2008 必須先升級至 SP1
2. 開啟選項視窗,選單 Tools / Options
3. 找到 Debugging / General 節點設定,然後對以下兩個設定做出改變:
* 將 Enable Just My Code (Managed Only) 取消選取
* 將 Enable source server support 勾選
4. 然後再切換到 Debugging / Symbols 設定
先新增 Symbol file locations 到 http://referencesource.microsoft.com/symbols
然後再設定動態下載的 Symbols 資料要存放的位置,你可以設定任何路徑,例如:G:\Symbols
5. 最後,會出現一個 Security Alert 問題要不要啟用 Source Server 功能,回答 Yes 即可。
若你要測試有沒有設定成功,可以用以下步驟:
- 先在任意專案中設置中斷點(breaking point)
- 然後按下 F5 鍵進入偵錯模式,但由於第一次使用會動態下載所有該專案會用到的組件 Symbol 檔(包括原始檔),所以時間會花比較長,我大約下載了 30 分鐘吧,請各位耐心等待!
- 之後就可以用單步執行(F10 / F11)進行原始碼查,但第一次用的時候會先看到 End User License Agreement (EULA) ,按下 Accept 即可。
相關連結