折騰 CLR 調試接口也有幾周了,可是在將 C++ 代碼移植到 C# 時總是有問題,直到剛剛才靈機一動有所突破,呵呵,總算可以開始寫這個系列文章了。:D 雖然需要實際用到 CLR 調試接口的人可能非常少,但通過對 CLR 調試接口和 Profiler 接口的了解,可以從多個截面加深對 CLR 架構的認識,而且靈活使用這兩個接口可以開發出非常強大的輔助開發工具來。:D 目前關于 CLR 調試接口方面的資料比較少,較為詳細的除了.NET Framework SDK自帶的兩個文檔(Tool Developers Guidedocs目錄下的Debug.doc和DebugRef.doc)和一個例子(Tool Developers GuideSamplesdebugger)外,就只有 MSDN 雜志的上兩篇文章,以及 Jon Shute 的一個 Debuggers under .NET 系列文章了。
.NET Framework SDK 自帶的 Debug.doc 文檔從整體結構上介紹了 CLR 調試接口的架構;DebugRef.doc 則詳細地介紹了具體的使用方法,可惜其中紕漏不少,大概是最終發布特性沒有跟文檔同步吧,呵呵。而 samples 目錄下的那個例子,則是詳盡地演示了大部分調試接口功能的使用,極具參考價值。
MSDN 雜志2002年第11期中 Mike Pellegrino 的 Improve Your Understanding of .NET Internals by Building a Debugger for Managed Code 一文可以說是目前最為全面的調試接口介紹文章了,而且給出了詳細的例子。而2001年第12期中 Matt Pietrek 的 Under the Hood 專欄文章 The .NET Profiling API and the DNProfiler Tool 雖然介紹的是 .NET Profiling API,但與調試接口環環相扣、相輔相成,是理解 CLR 架構的必讀文章。
Jon Shute老兄是 SharpDevelop 項目 CLR 調試器部分的負責人,據他說已經有一個包裝好的C#版本調試器接口了,呵呵,值得期待啊。:D
Debuggers under .NET part 1 Debuggers under .NET part 2 Debugging under .NET part 3
上面提到的 SharpDevelop 項目提供了一個完全開源的 C# 開發環境,雖然目前還不太成熟,但也已初具規模了。和 ASP.NET 的 Web Matrix 都是非常優秀的 .NET 開發環境免費項目。清華出版社翻譯的 《C#軟件項目開發全程剖析——全面透視SharpDevelop軟件的開發內幕》 一書則較為全面地介紹了 SharpDevelop 的設計與開發流程。雖然沒有很深入的技術內容,但對程序的設計和開發周期有很全面的介紹,對初涉 .NET 架構程序設計和開發的朋友有相當的參考價值。
|