다음을 통해 공유


COR_GC_REFERENCE 구조체

가비지 수집할 개체에 대한 정보를 포함합니다.

Syntax

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_STRONGHNDTYPE_REFCOUNT) 및 정적 변수가 포함됩니다.
  • 종료자 큐(CorGCReferenceType.CorReferenceFinalizer)의 개체입니다. 종료자가 실행될 때까지 종료자 큐 루트 개체입니다.

필드에는 extraData 참조의 원본(또는 형식)에 따라 추가 데이터가 포함됩니다. 가능한 값은 다음과 같습니다.

  • DependentSource; 이 typeCorGCReferenceType.CorHandleStrongDependent필드가 있는 경우 이 필드는 가비지 수집 COR_GC_REFERENCE.Location할 개체를 루트로 지정하는 개체입니다.
  • RefCount; 이 typeCorGCReferenceType.CorHandleStrongRefCount경우 이 필드는 핸들의 참조 개수입니다.
  • Size; 이 필드가 typeCorGCReferenceType.CorHandleStrongSizedByref있는 경우 이 필드는 가비지 수집기에서 개체 루트를 계산한 개체 트리의 마지막 크기입니다. 이 계산이 반드시 최신 상태인 것은 아닙니다.

요구 사항

플랫폼:.NET 지원 운영 체제를 참조하세요.

머리글: CorDebug.idl, CorDebug.h

도서관: CorGuids.lib

.NET 버전: .NET Framework 4.5 이후 사용 가능