Freigeben über


COR_HEAPOBJECT-Struktur

Stellt Informationen zu einem Objekt auf dem verwalteten Heap bereit.

Syntax

typedef struct _COR_HEAPOBJECT {
    CORDB_ADDRESS address;
    ULONG64 size;
    COR_TYPEID type;
} COR_HEAPOBJECT;

Member

Member Beschreibung
address Die Adresse des Objekts im Arbeitsspeicher.
size Die Gesamtgröße des Objekts in Bytes.
type Ein COR_TYPEID-Token, das den Typ des Objekts darstellt.

Bemerkungen

COR_HEAPOBJECT-Instanzen können durch Auflisten eines ICorDebugHeapEnum-Schnittstellenobjekts abgerufen werden, das durch Aufrufen der ICorDebugProcess5::EnumerateHeap-Methode aufgefüllt wird.

Eine COR_HEAPOBJECT-Instanz stellt entweder Informationen zu einem Liveobjekt im verwalteten Heap oder Informationen zu einem Objekt bereit, das keinem Objekt zugeordnet ist und noch nicht vom Garbage Collector bereinigt wurde.

Aus Leistungsgründen handelt es sich beim COR_HEAPOBJECT.address-Feld um einen CORDB_ADDRESS-Wert und nicht um den ICorDebugValue-Schnittstellenwert, der in einem Großteil der Debug-API verwendet wird. Um ein ICorDebugValue-Objekt für eine angegebene Objektadresse abzurufen, können Sie den CORDB_ADDRESS-Wert an die ICorDebugProcess5::GetObject-Methode übergeben.

Aus Leistungsgründen handelt es sich beim COR_HEAPOBJECT.type-Feld um einen COR_TYPEID-Wert und nicht um den ICorDebugType-Schnittstellenwert, der in einem Großteil der Debug-API verwendet wird. Um ein ICorDebugType-Objekt für eine Typ-ID abzurufen, können Sie den COR_TYPEID-Wert an die ICorDebugProcess5::GetTypeForTypeID-Methode übergeben.

Die COR_HEAPOBJECT-Struktur enthält eine COM-Schnittstelle mit Verweiszählung. Wenn Sie durch Aufrufen der ICorDebugHeapEnum::Next-Methode eine COR_HEAPOBJECT-Instanz aus dem Enumerator abrufen, müssen Sie den Verweis anschließend freigeben.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorDebug.idl, CorDebug.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: Seit Version 4.5 verfügbar

Siehe auch