Структура 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
). Сюда входят динамические ссылки в управляемом коде, а также объекты, созданные средой CLR.Объекты из таблицы дескрипторов (
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