ICorProfilerCallback::ExceptionCatcherEnter メソッド
適切な catch
ブロックに制御が渡されていることをプロファイラーに通知します。
構文
HRESULT ExceptionCatcherEnter(
[in] FunctionID functionId,
[in] ObjectID objectId);
パラメーター
functionId
[in] catch
ブロックを含む関数の識別子。
objectId
[in] 処理されている例外の識別子。
解説
ExceptionCatcherEnter
メソッドは、catch ポイントが Just-In-Time (JIT) コンパイラを使用してコンパイルされたコード内にある場合にのみ呼び出されます。 アンマネージド コードまたはランタイムの内部コードでキャッチされた例外は、この通知を呼び出しません。 ExceptionThrown
通知後にガベージ コレクションがオブジェクトを移動した可能性があるため、objectId
値が再度渡されます。
プロファイラーはこのメソッドの実装ではブロックしないでください。スタックが、ガベージ コレクションを許可する状態ではない可能性があり、そのため、優先ガベージ コレクションを有効にできないためです。 プロファイラーがここでブロックし、ガベージ コレクションを実行しようとすると、このコールバックが戻るまでランタイムがブロックします。
プロファイラーによるこのメソッドの実装では、マネージド コードを呼び出してはならず、いかなる状況でもマネージドメモリを割り当ててはいけません。
要件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET