Visual Studio 偵錯目前支援下列事件類型:
非同步事件
通知會話偵錯管理員 (SDM) 和 IDE 正在偵錯的應用程式狀態正在變更。 這些事件會在 SDM 和 IDE 的閒暇時間處理。 處理事件後,不會將回覆傳送至偵錯引擎 (DE)。 IDebugOutputStringEvent2 和 IDebugMessageEvent2 介面是非同步事件的範例。
同步事件
通知 SDM 和 IDE 正在偵錯的應用程式狀態正在變更。 這些事件與非同步事件之間的唯一差異是,回覆是透過 ContinueFromSynchronousEvent 方法傳送。
如果您需要 DE 在 IDE 接收並處理事件之後繼續處理,則傳送同步事件會很有用。
同步停止事件或稱為停止事件
通知 SDM 和 IDE 正在偵錯的應用程式已停止執行程式碼。 當您透過 Event 方法傳送停止事件時,需要 IDebugThread2 參數。 呼叫以下任一方法可以繼續執行已停止的事件:
-
介面 IDebugBreakpointEvent2 和 IDebugExceptionEvent2 是停止事件的範例。
備註
不支援非同步停止事件。 傳送非同步停止事件是錯誤。
討論
事件的實際實作取決於 DE 的設計。 傳送的每個事件類型由其屬性決定,這些屬性是在您設計 DE 時設定的。 例如,一個 DE 可能會將 IDebugProgramCreateEvent2 作為非同步事件傳送,而另一個 DE 可能會將它作為停止事件傳送。
下表指定哪些事件需要哪些程式和執行緒參數,以及事件類型。 任何事件都可以是同步的。 任何事件都不需要同步。
備註
所有事件都需要 IDebugEngine2 介面。