Delen via


TTD Heap-objecten

Beschrijving

TTD Heap-objecten worden gebruikt om informatie te geven over heap-aanroepen die plaatsvinden tijdens een tracering.

Eigenschappen

Elk heap-object heeft deze eigenschappen.

Vastgoed Beschrijving
Handeling Beschrijft de actie die is opgetreden. Mogelijke waarden zijn: Alloc, ReAlloc, Free, Create, Protect, Lock, Unlock, Destroy.
Stapel De handgreep voor de Win32 heap.

Voorwaardelijke eigenschappen

Afhankelijk van het heap-object kan het enkele van de onderstaande eigenschappen hebben.

Vastgoed Beschrijving
Adres Het adres van het toegewezen object.
VorigeAdres Het adres van het toegewezen object voordat het opnieuw werd toegewezen. Als Address niet hetzelfde is als PreviousAddress, heeft de herlocatie ervoor gezorgd dat het geheugen werd verplaatst.
Grootte De grootte en/of aangevraagde grootte van een toegewezen object.
BaseAddress Het adres van een toegewezen object in de heap. Het kan het adres vertegenwoordigen dat wordt vrijgemaakt (gratis) of het adres van het object voordat het opnieuw wordt toegewezen (ReAlloc.)
Vlaggen Betekenis is afhankelijk van de API.
Resultaat Het resultaat van de heap-API-aanroep. Niet-nul betekent succes en nul betekent falen.
ReserveSize Hoeveelheid geheugen om te reserveren voor de heap.
CommitSize Oorspronkelijke vastgelegde grootte voor de heap.
MakeReadOnly Een niet-nul waarde geeft aan dat er een aanvraag is om de heap op alleen-lezen in te stellen; Een nulwaarde geeft aan dat de heap moet worden ingesteld op lezen en schrijven.

Kinderen

Voorwerp Beschrijving
TijdBegin Een positieobject dat de positie aan het begin van de toewijzing beschrijft.
Eindtijd Een positieobject dat de positie aan het einde van de toewijzing beschrijft.

Voorbeeldgebruik

Gebruik deze opdracht dx (Display Debugger Object Model Expression) om het heapgeheugen in een raster weer te geven met behulp van de optie -g.

0:0:000> dx -g @$cursession.TTD.Data.Heap()
=======================================================================================================================================================
=                          = Action     = Heap          = Address       = Size      = Flags  = (+) TimeStart = (+) TimeEnd = Result = PreviousAddress =
=======================================================================================================================================================
= [0x0] : [object Object]  - Alloc      - 0xaf0000      - 0xb0cfd0      - 0x4c      - 0x0    - FAB:17B1      - FAD:40      -        -                 =
= [0x1] : [object Object]  - Alloc      - 0xaf0000      - 0xb07210      - 0x34      - 0x8    - FB1:9         - FB3:74      -        -                 =
= [0x2] : [object Object]  - Alloc      - 0xaf0000      - 0xb256d8      - 0x3c      - 0x8    - E525:174      - E526:E1     -        -                 =

De uitvoer kan worden beschreven als 'genormaliseerde gegevens' omdat er een gekozen set API's is die heap-bewerkingen vertegenwoordigen. De gegevens die uit de juiste parameters worden geëxtraheerd, worden op een uniforme manier gepresenteerd.

Als u op TimeStart of TimeEnd klikt, gaat u naar dat punt in de trace.

Klik op het parameterveld naast een specifieke vermelding om beschikbare parameterinformatie weer te geven.

dx -r1 @$cursession.TTD.Data.Heap()[2].@"Parameters"
@$cursession.TTD.Data.Heap()[2].@"Parameters"                
    [0x0]            : 0x16c7d780000
    [0x1]            : 0x280000
    [0x2]            : 0x20
    [0x3]            : 0x0
...    

Verhoog de recursie -r waarde om aanvullende informatie weer te geven.

Zie ook

Foutopsporing van tijdreizen - Inleiding tot foutopsporingsobjecten voor tijdreizen

Time Travel Debugging - Overzicht

dx (Display Debugger Object Model Expression)