COR_GC_REFERENCE 구조체
가비지 수집할 개체에 대한 정보를 포함합니다.
구문
typedef struct _COR_GC_REFERENCE {
ICorDebugAppDomain *domain;
ICorDebugValue *location;
CorGCReferenceType type;
UINT64 extraData;
} COR_GC_REFERENCE;
멤버
멤버 | Description |
---|---|
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