ICorProfilerInfo2::GetGenerationBounds metódus

Lekéri a különböző szemétgyűjtési generációkat alkotó memóriarégiókat, amelyek a halommemória szegmensei.

Szintaxis

HRESULT GetGenerationBounds(  
    [in]  ULONG cObjectRanges,  
    [out] ULONG *pcObjectRanges,  
    [out, size_is(cObjectRanges), length_is(*pcObjectRanges)] COR_PRF_GC_GENERATION_RANGE ranges[]);  

Paraméterek

cObjectRanges
[in] A hívó által a tömbhöz ranges lefoglalt elemek száma.

pcObjectRanges
[kifelé] Egy egész számra mutató mutató, amely a tömbben ranges visszaadott tartományok teljes számát adja meg.

ranges
[kifelé] COR_PRF_GC_GENERATION_RANGE struktúrák tömbje, amelyek mindegyike a szemétgyűjtés alatt álló generáción belüli memóriatartományt (azaz blokkot) írja le.

Megjegyzések

A GetGenerationBounds metódus bármely profilkészítő visszahívásból meghívható, feltéve, hogy a szemétgyűjtés nincs folyamatban.

A legtöbb generációváltás a szemétgyűjtés során történik. Generációk nőhetnek a gyűjtemények között, de általában nem mozognak. Ezért a legérdekesebb hívási helyek a GetGenerationBounds és ICorProfilerCallback2::GarbageCollectionFinisheda ICorProfilerCallback2::GarbageCollectionStarted helyen találhatók.

A program indításakor egyes objektumokat maga a közös nyelvi futtatókörnyezet (CLR) foglal le, általában a 3. és a 0. generációban. Így mire a felügyelt kód elkezdi a végrehajtást, ezek a generációk már tartalmaznak objektumokat. Az 1. és a 2. generáció általában üres, kivéve a szemétgyűjtő által létrehozott üres objektumokat. (A próbaobjektumok mérete 12 bájt a CLR 32 bites implementációiban, a méret pedig nagyobb a 64 bites implementációkban.) A natív képgenerátor (NGen.exe) által létrehozott modulokban található 2. generációs tartományok is megjelenhetnek. Ebben az esetben a 2. generációs objektumok zárolt objektumok, amelyek a szemétgyűjtő helyett NGen.exe futtatásakor vannak lefoglalva.

Ez a függvény hívó által lefoglalt puffereket használ.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: CorProf.idl, CorProf.h

Könyvtár: CorGuids.lib

.NET-keretrendszer verziók: 2.0 óta elérhető

Lásd még