次の方法で共有


ICorDebugManagedCallback2::Exception メソッド

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

構文

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

パラメーター

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

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

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

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

dwEventType [in]この例外コールバックの型を指定する CorDebugExceptionCallbackType 列挙の値。

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

解説

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

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

特定のフレームとオフセットは、dwEventType パラメーターによって次のように決定されます。

dwEventType の値 pFrame の値 nOffset の値
DEBUG_EXCEPTION_FIRST_CHANCE 例外をスローしたフレーム。 フレーム内の命令ポインター。
DEBUG_EXCEPTION_USER_FIRST_CHANCE スローされた例外の位置に最も近いユーザー コード フレーム。 フレーム内の命令ポインター。
DEBUG_EXCEPTION_CATCH_HANDLER_FOUND catch ハンドラーを含むフレーム。 catch ハンドラーの先頭の共通中間言語 (CIL) オフセット。
DEBUG_EXCEPTION_UNHANDLED NULL 未定義です。

必要条件

:システム要件」を参照してください。

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

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目