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