イベントの監視

デバッガー エンジン のイベントの概要については イベント」を参照してください。

ターゲットまたはデバッガー エンジンで発生するイベントは IDebugEventCallbacks インターフェイスを使用して監視できます。 IDebugEventCallbacks オブジェクトは SetEventCallbacks を使用してクライアントに登録できます。 各クライアントは、 IDebugEventCallbacks オブジェクトを 1 つだけ登録できます。

IDebugEventCallbacks オブジェクトがクライアントに登録されている場合、エンジンはオブジェクトの IDebugEventCallbacks::GetInterestMask を呼び出して、オブジェクトがどのイベントに関心を持つのかを判断します。 オブジェクトが関心のあるイベントのみが送信されます。

イベントの種類ごとに、エンジンは IDebugEventCallbacks で 対応するコールバック メソッドを呼び出します。 ターゲットからのイベントの場合、 これらの呼び出しから返される DEBUG_STATUS_XXX 値は、ターゲットの実行を続行する方法を指定します。 エンジンは、呼び出す各 IDebugEventCallbacks オブジェクトからこれらの戻り値を収集し、優先順位が最も高いものに対して動作します。

既定でデバッガーに割り込むターゲットからのイベント

既定では、次のイベントがデバッガーに分割されます。

  • ブレークポイントイベント

  • 例外イベント (ここに記載されていません)

  • システム エラー

デフォルトではデバッガに侵入しないターゲットからのイベント

デフォルトでは、次のイベントはデバッガーに侵入しません。

  • プロセス イベントの作成

  • プロセス終了イベント

  • スレッドの作成イベント

  • 終了スレッド イベント

  • ロードモジュールイベント

  • アンロードモジュールイベント

内部エンジンの変更

実際のイベントではなく、内部エンジンの変更を次に示します。

  • 目標の変更

  • エンジンの変更

  • エンジン シンボルの変更

  • セッションの状態の変更