監視事件
目標或偵錯工具引擎中發生的事件可以使用 IDebugEventCallbacks 介面進行監視。 IDebugEventCallbacks物件可以使用SetEventCallbacks向用戶端註冊。 每個用戶端最多隻能有一個已向它註冊的 IDebugEventCallbacks 物件。
當 IDebugEventCallbacks 物件向用戶端註冊時,引擎會呼叫物件的 IDebugEventCallbacks::GetInterestMask ,以判斷物件感興趣的事件。 只有物件感興趣的事件才會傳送至該事件。
針對每種類型的事件,引擎會在 IDebugEventCallbacks上呼叫對應的回呼方法。 對於來自目標的事件,從這些呼叫傳回 的DEBUG_STATUS_XXX 值會指定執行目標應該如何繼續。 引擎會從它所呼叫的每個 IDebugEventCallbacks 物件收集這些傳回值,並處理優先順序最高的物件。
預設會中斷偵錯工具之目標的事件
下列事件預設會中斷至偵錯工具:
中斷點事件
例外狀況事件 (此處未記載)
系統錯誤
預設不會中斷至偵錯工具之目標的事件
下列事件預設不會中斷至偵錯工具:
建立進程事件
結束進程事件
建立執行緒事件
結束執行緒事件
Load Module 事件
Unload Module 事件
內部引擎變更
下列不是實際的事件,而是只是內部引擎變更:
目標變更
引擎變更
引擎符號變更
會話狀態變更