2009-07-19 16 views
2

.NET框架具有非託管的debuggingprofiling我假設人員/公司熟悉的API。如果某人正在爲一個新的CLI運行時¹實施調試器和分析器支持¹:實現調試器支持:調試API的選擇

  • 對這些現有API的基本操作有什麼優點/缺點?
  • 這些API通過增加接口擴展號來表示對後面的功能的支持,從而保留向後兼容性。我將有機會將這些接口結合起來並刪除已棄用的方法,因爲沒有「向後」的兼容性。這是個好主意嗎?這裏有一點值得關注的是,這不會刪除與現有調試器的源代碼兼容性,因爲我的系統需要調試器在託管代碼&託管API中實現,而現有的代碼是以非託管代碼編寫的。
  • 是否有其他文檔化的調試/分析API可用?他們的功能是否設置在與上述完全一致的地方?

¹我喜歡在家工作的高級長期項目,讓我學習和思考解決大問題的方法。我知道還有其他人可以使用,但我想要一個人去真正瞭解所涉及的內容,而且我已經有了一個很好的方法。

²我找不到描述這個的鏈接,但它也廣泛用於Visual Studio API。我相信我在「COM接口命名指南」文檔中看到了它?你可以看到它作爲ICorDebugClass2界面,顯示了擴展ICorDebugClass界面而不改變原始界面。

回答

3

我正在使用分析API,所以我的大部分評論都是關於CLR分析器的。
MSDN文檔退出錯誤。 您可以得到關於方法或類正在做什麼的一般描述,以及方法參數的簡短描述。沒有例子。
如果你很幸運,你可以找到一些關於你的問題的博客。

一些可能對探查器API有幫助的鏈接是:
This MSDN magazine artical - 舊的但很好的起點。
David Borman's blog - 不經常更新,但信息值得金:)
The CLR team blog - 更新每月幾次。
轉子CLR source code
而你總是可以嘗試郵寄CLR團隊,如果你遇到問題,他們實際上是非常有幫助的,當我們需要他們的幫助。

關於兼容性問題: 不知道我理解你的要求在這裏,我知道的是這樣的:
如果你沒有支持以前的版本到最新的CLR 4 CLR 4包括一些重大更改(CLR的少數實例可以在同一進程中並排運行)讀取this post並決定如何處理它。

我的系統需要調試器在託管代碼&託管的API中實現,而現有的代碼是以非託管代碼編寫的。

據我所知可以下載調試API的託管包裝API的源代碼。 (現在無法找到鏈接)

希望它有幫助。

+3

以下是調試器API的託管包裝的鏈接:http://download.microsoft.com/download/1/2/f/12f5dde6-695d-4003-a451-739ab3be6098/mdbgSample21.EXE – 2009-07-21 09:14:48

相關問題