Dela via


ICorProfilerInfo2::GetGenerationBounds, metod

Hämtar minnesregionerna, som är segment av heapen, som utgör de olika skräpinsamlingsgenerationerna.

Syntax

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

Parametrar

cObjectRanges
[in] Antalet element som allokerats av anroparen för matrisen ranges .

pcObjectRanges
[ut] En pekare till ett heltal som anger det totala antalet intervall, av vilka vissa eller alla returneras i matrisen ranges .

ranges
[ut] En matris med COR_PRF_GC_GENERATION_RANGE strukturer, som var och en beskriver ett intervall (dvs. block) av minne inom den generation som genomgår skräpinsamling.

Kommentarer

Metoden GetGenerationBounds kan anropas från alla profileraråteranrop, förutsatt att skräpinsamling inte pågår.

De flesta generationsskiften sker under skräpinsamlingar. Generationer kan växa mellan samlingar men rör sig i allmänhet inte. Därför är de mest intressanta platserna att ringa GetGenerationBounds i ICorProfilerCallback2::GarbageCollectionStarted och ICorProfilerCallback2::GarbageCollectionFinished.

Under programstarten allokeras vissa objekt av själva CLR (Common Language Runtime), vanligtvis i generation 3 och 0. När den hanterade koden börjar köras innehåller dessa generationer redan objekt. Generation 1 och 2 är normalt tomma, förutom dummyobjekt som genereras av skräpinsamlaren. (Storleken på dummyobjekt är 12 byte i 32-bitars implementeringar av CLR. Storleken är större i 64-bitars implementeringar.) Du kan också se generation 2-intervall som finns i moduler som skapats av den interna avbildningsgeneratorn (NGen.exe). I det här fallet är objekten i generation 2 låsta objekt, som allokeras när NGen.exe körs i stället för av skräpinsamlaren.

Den här funktionen använder anroparallokerade buffertar.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 2.0

Se även