.NET Framework開源詳細配置
看到.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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 微軟.NET Framework的開源之路微軟Framework
- .NET Framework終於開源了!Framework
- Microsoft.NET Framework 全面開源ROSFramework
- 微軟.Net Framework終開源 移植仍有難度微軟Framework
- .NET Framework開源給開發者帶來不同影響Framework
- .NET 5 中 Target Framework 詳解Framework
- fastdfs詳細配置AST
- proftpd詳細配置FTP
- .NET Framework 高階開發Framework
- 工作流引擎詳解!工作流開源框架ACtiviti的詳細配置以及安裝和使用框架
- Java開源的混淆器 Proguard詳細介紹Java
- nginx 詳解 – 詳細配置說明Nginx
- nginx 詳解 - 詳細配置說明Nginx
- .NET6 平臺系列2 .NET Framework框架詳解Framework框架
- multipath配置詳細參考
- MyBatis Generator 超詳細配置MyBatis
- Apollo 配置中心詳細教程
- FckEditor(CKEditor)配置詳細教程
- OA Framework 配置、開發、部署指南Framework
- 開源179個Flutter元件的詳細使用介紹Flutter元件
- .NET Framework非託管相關概念詳解Framework
- .NET 開源配置元件 AgileConfig 初體驗元件
- .NET Framework 4 和 .NET Framework 4 Client ProfileFrameworkclient
- AFNetworking框架-詳細解析框架
- Jmeter安裝配置詳細教程JMeter
- 配置PLSQL Developer詳細步驟SQLDeveloper
- Flutter詳細的環境配置Flutter
- Nginx location配置詳細解釋Nginx
- Oracle Stream配置詳細步驟Oracle
- 是否有應用onethink開發web的詳細教程Web
- Robot Framework(12)- 詳細解讀 RF 的變數和常量Framework變數
- .net framework 5.0Framework
- .NET Framework 工具Framework
- oracle 大頁配置詳細介紹Oracle
- nginx配置https詳細過程NginxHTTP
- VNC安裝配置詳細說明VNC
- Nginx配置檔案詳細說明Nginx
- solrcloud+zk+tomcat 詳細配置SolrCloudTomcat