가비지 수집할 개체에 대한 정보를 포함합니다.
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_STRONG및HNDTYPE_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 이후 사용 가능
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET