CLR 除錯介面的架構與應用 1 背景資料

2021-09-30 02:09:12 字數 1354 閱讀 5208

折騰 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 雜誌2023年第11期中 mike pellegrino 的 improve your understanding of .net internals by building a debugger for managed code 一文可以說是目前最為全面的除錯介面介紹文章了,而且給出了詳細的例子。而2023年第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 架構程式設計和開發的朋友有相當的參考價值。

Java泛型與介面的應用示例

如下 公共介面,只有實現這個介面的子類才表示人的資訊.inte ce info 類 class contact implements info 設定位址 public void setaddress string addr 設定 public void settelphone string tel ...

抽象類與介面的應用場景

介面 inte ce 的應用場合 類與類之前需要特定的介面進行協調,而不在乎其如何實現。作為能夠實現特定功能的標識存在,也可以是什麼介面方法都沒有的純粹標識。需要將一組類視為單一的類,而呼叫者只通過介面來與這組類發生聯絡。需要實現特定的多項功能,而這些功能之間可能完全沒有任何聯絡。抽象類 abstr...

C 介面的介紹與應用介紹,介面與抽象類的區別

c 中類不支援多重繼承,而通過介面可以實現多重繼承的功能。要點 1.介面是抽象類的延續,可以將它看作純粹的抽象類,介面中所有的方法都沒有方法體。由方法 屬性 事件和索引器組成,但不包含字段。2.類要實現介面成員,類中的對應成員必須是公共的 非靜態的,並且與介面成員具有相同的名稱和簽名。介面不能直接例...