ICorProfilerCallback2::GarbageCollectionStarted メソッド
ガベージ コレクションが開始されたことをコード プロファイラーに通知します。
構文
HRESULT GarbageCollectionStarted(
[in] int cGenerations,
[in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
[in] COR_PRF_GC_REASON reason);
パラメーター
cGenerations
[in] generationCollected
配列内のエントリの合計数。
generationCollected
[in] ブール値の配列。配列インデックスに対応するジェネレーションがこのガベージ コレクションによって収集される場合は true
、それ以外の場合は false
です。
配列は、ジェネレーションを示す COR_PRF_GC_GENERATION 列挙型の値によってインデックス作成されます。
reason
[in] ガベージ コレクションが発生した理由を示す COR_PRF_GC_REASON 列挙型の値。
解説
このガベージ コレクションに関連するすべてのコールバックは、GarbageCollectionStarted
コールバックとそれに対応する ICorProfilerCallback2::GarbageCollectionFinished コールバックの間で発生します。 これらのコールバックは、同じスレッドで発生する必要はありません。
プロファイラーでは、GarbageCollectionStarted
コールバック中に元の場所のオブジェクトを検査するのが安全です。 ガベージ コレクターは、GarbageCollectionStarted
から戻った後にオブジェクトの移動を開始します。 プロファイラーでは、このコールバックから戻った後、ICorProfilerCallback2::GarbageCollectionFinished
コールバックを受け取るまで、すべてのオブジェクト ID を無効であると見なす必要があります。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET