COR_GC_REFERENCE 構造体
ガベージ コレクトされるオブジェクトに関する情報が含まれます。
構文
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
メンバー
メンバー | 説明 |
---|---|
domain |
ハンドルまたはオブジェクトが属するアプリケーション ドメインへのポインター。 この値は null の場合もあります。 |
location |
ガベージ コレクトされるオブジェクトに対応する ICorDebugValue または ICorDebugReferenceValue インターフェイスのいずれか。 |
type |
ルートの取得元を示す CorGCReferenceType 列挙値。 詳細については、「解説」を参照してください。 |
extraData |
ガベージ コレクトされるオブジェクトに関する追加データ。 この情報は、type フィールドに示されているように、オブジェクトのソースによって異なります。 詳細については、「解説」を参照してください。 |
解説
type
フィールドは、参照の取得元を示す CorGCReferenceType 列挙値です。 特定の COR_GC_REFERENCE
値は、次のいずれかの種類のマネージド オブジェクトを反映できます。
すべてのマネージド スタックのオブジェクト (
CorGCReferenceType.CorReferenceStack
)。 これには、マネージド コードのライブ参照や、共通言語ランタイムによって作成されたオブジェクトが含まれます。ハンドル テーブルからのオブジェクト (
CorGCReferenceType.CorHandle*
)。 これには、モジュール内の強い参照 (HNDTYPE_STRONG
およびHNDTYPE_REFCOUNT
) と静的変数が含まれます。ファイナライザー キューからのオブジェクト (
CorGCReferenceType.CorReferenceFinalizer
)。 ファイナライザー キューは、ファイナライザーが実行されるまではオブジェクトをルートにします。
extraData
フィールドには、参照のソース (または種類) に応じて追加のデータが含まれます。 次のいずれかの値になります。
DependentSource
.type
がCorGCReferenceType.CorHandleStrongDependent
の場合、このフィールドは、動作中の場合はCOR_GC_REFERENCE.Location
でガベージ コレクトされるオブジェクトをルートにするオブジェクトです。RefCount
.type
がCorGCReferenceType.CorHandleStrongRefCount
の場合、このフィールドはハンドルの参照数です。Size
.type
がCorGCReferenceType.CorHandleStrongSizedByref
の場合、このフィールドは、ガベージ コレクターによってオブジェクトのルートが計算されたオブジェクト ツリーの最後のサイズです。 この計算は必ずしも最新ではないことに注意してください。
必要条件
:「システム要件」を参照してください。
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 4.5 以降で使用可能
関連項目
.NET