事件

偵錯工具引擎提供監視和回應目標中事件的功能。 當事件發生時,引擎通常會暫停目標 (通常只會短暫地) ,然後通知事件的所有用戶端,接著會指示引擎如何繼續執行目標。

若要通知用戶端事件,引擎會呼叫向用戶端註冊的事件回呼物件。 引擎會為每個事件回呼提供事件的詳細資料,而事件回呼會指示引擎如何在目標中繼續執行。 當不同的事件回呼提供衝突的指令時,引擎會使用最高優先順序的指令 (請參閱 DEBUG_STATUS_XXX) ,這通常表示選擇涉及最低執行目標的指令。

注意 當事件回呼正在處理事件時,目標會暫停,而且偵錯會話可供存取;不過,由於引擎在 WaitForEvent 呼叫期間明確等候事件,或藉由執行 g (Go) p (Step ) 之類的命令來明確等候事件,而且事件回呼無法呼叫 WaitForEvent,而且如果它嘗試執行任何會導致偵錯工具執行的命令,例如 g (Go) p (Step) 、 引擎會將這些命令解譯為如何繼續的指示。

事件篩選

偵錯工具引擎也會提供 事件篩選器,這是較簡單的基本事件監視替代方案。 事件篩選準則提供一些簡單的規則,指定事件是否應該列印到偵錯工具的輸出資料流程,或中斷至偵錯工具。 當事件發生時,它們也可以用來執行偵錯工具命令。

其他資訊

如需監視事件的詳細資訊,請參閱 監視事件