監視事件

如需 偵錯工具引擎中事件的概觀,請參閱 事件

目標或偵錯工具引擎中發生的事件可以使用 IDebugEventCallbacks 介面進行監視。 IDebugEventCallbacks物件可以使用SetEventCallbacks向用戶端註冊。 每個用戶端最多隻能有一個已向它註冊的 IDebugEventCallbacks 物件。

IDebugEventCallbacks 物件向用戶端註冊時,引擎會呼叫物件的 IDebugEventCallbacks::GetInterestMask ,以判斷物件感興趣的事件。 只有物件感興趣的事件才會傳送至該事件。

針對每種類型的事件,引擎會在 IDebugEventCallbacks上呼叫對應的回呼方法。 對於來自目標的事件,從這些呼叫傳回 的DEBUG_STATUS_XXX 值會指定執行目標應該如何繼續。 引擎會從它所呼叫的每個 IDebugEventCallbacks 物件收集這些傳回值,並處理優先順序最高的物件。

預設會中斷偵錯工具之目標的事件

下列事件預設會中斷至偵錯工具:

  • 中斷點事件

  • 例外狀況事件 (此處未記載)

  • 系統錯誤

預設不會中斷至偵錯工具之目標的事件

下列事件預設不會中斷至偵錯工具:

  • 建立進程事件

  • 結束進程事件

  • 建立執行緒事件

  • 結束執行緒事件

  • Load Module 事件

  • Unload Module 事件

內部引擎變更

下列不是實際的事件,而是只是內部引擎變更:

  • 目標變更

  • 引擎變更

  • 引擎符號變更

  • 會話狀態變更