ICorDebugManagedCallback2::Exception メソッド

例外ハンドラーの検索が開始されたことをデバッガーに通知します。

HRESULT Exception (
    [in] ICorDebugAppDomain   *pAppDomain,
    [in] ICorDebugThread      *pThread,
    [in] ICorDebugFrame       *pFrame,
    [in] ULONG32              nOffset,
    [in] CorDebugExceptionCallbackType dwEventType,
    [in] DWORD                dwFlags
);

パラメーター

  • pAppDomain
    [入力] 例外がスローされたスレッドを含むアプリケーション ドメインを表す ICorDebugAppDomain オブジェクトへのポインター。

  • pThread
    [入力] 例外がスローされたスレッドを表す ICorDebugThread オブジェクトへのポインター。

  • pFrame
    [入力] dwEventType パラメーターによって決定されるフレームを表す ICorDebugFrame オブジェクトへのポインター。 詳細については、「解説」の表を参照してください。

  • nOffset
    [入力] dwEventType パラメーターによって決定されるオフセットを指定する整数。 詳細については、「解説」の表を参照してください。

  • dwEventType
    [入力] この例外コールバックの種類を指定する CorDebugExceptionCallbackType 列挙体の値。

  • dwFlags
    [入力] 例外に関する追加情報を指定する CorDebugExceptionFlags 列挙体の値。

解説

Exception コールバックは、例外処理プロセスの検索フェーズ中のさまざまな時点で呼び出されます。 つまり、1 つの例外をアンワインドしている間に複数回呼び出すことができます。

処理対象の例外は pThread パラメーターによって参照される ICorDebugThread オブジェクトから取得できます。

個々のフレームとオフセットは、dwEventType パラメーターによって次のように決まります。

dwEventType の値

pFrame の値

nOffset の値

DEBUG_EXCEPTION_FIRST_CHANCE

例外をスローしたフレーム。

フレーム内の命令ポインター。

DEBUG_EXCEPTION_USER_FIRST_CHANCE

スローされた例外のポイントに最も近いユーザーコード フレーム。

フレーム内の命令ポインター。

DEBUG_EXCEPTION_CATCH_HANDLER_FOUND

catch ハンドラーを含むフレーム。

catch ハンドラーの開始位置の Microsoft Intermediate Language (MSIL) オフセット。

DEBUG_EXCEPTION_UNHANDLED

NULL

未定義。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICorDebugManagedCallback2 インターフェイス

ICorDebugManagedCallback インターフェイス