次の方法で共有


ICorProfilerCallback2::GarbageCollectionStarted メソッド

コード プロファイラーに、ガベージ コレクションが開始されたことを通知します。

HRESULT GarbageCollectionStarted(
    [in] int cGenerations,
    [in, size_is(cGenerations), length_is(cGenerations)] BOOL generationCollected[],
    [in] COR_PRF_GC_REASON reason);

パラメーター

  • cGenerations
    [入力] generationCollected 配列のエントリの合計数。

  • generationCollected
    [入力] ブール値の配列。配列のインデックスに対応するジェネレーションがこのガベージ コレクションによって収集されている場合は true。それ以外の場合は false。

    配列には、COR_PRF_GC_GENERATION 列挙体の値のインデックスが付けられ、ジェネレーションを示します。

  • reason
    [入力] ガベージ コレクションが発生した理由を示す COR_PRF_GC_REASON 列挙体の値。

解説

このガベージ コレクションに関するすべてのコールバックは、GarbageCollectionStarted コールバックとそれに対応する ICorProfilerCallback2::GarbageCollectionFinished コールバックの間に発生します。 これらのコールバックは、同じスレッドで発生する必要はありません。

GarbageCollectionStarted コールバックの間に、プロファイラーは元の場所でオブジェクトを検査するのが安全です。 ガベージ コレクション機能は、GarbageCollectionStarted から制御が戻った後、オブジェクトの移動を開始します。 このコールバックから制御が戻った後、プロファイラーは、ICorProfilerCallback2::GarbageCollectionFinished コールバックを受け取るまですべてのオブジェクト ID を無効と見なす必要があります。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

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

ライブラリ: CorGuids.lib

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

参照

参照

ICorProfilerCallback インターフェイス

ICorProfilerCallback2 インターフェイス