次の方法で共有


ICorDebugManagedCallback2::Exception メソッド

更新 : 2007 年 11 月

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

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

ライブラリ : CorGuids.lib

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

参照

参照

ICorDebugManagedCallback2

ICorDebugManagedCallback