Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Beskrivning
TTD Heap-objekt används för att ge information om heap-anrop som sker under en spårning.
Egenskaper
Varje heap-objekt har dessa egenskaper.
| Fastighet | Beskrivning |
|---|---|
| Åtgärd | Beskriver den åtgärd som inträffade. Möjliga värden är: Alloc, ReAlloc, Free, Create, Protect, Lock, Unlock, Destroy. |
| Heap | Handtaget för Win32-högen. |
Villkorsstyrda egenskaper
Beroende på heap-objektet kan det ha några av egenskaperna nedan.
| Fastighet | Beskrivning |
|---|---|
| Adress | Adressen till det allokerade objektet. |
| Föregående adress | Adressen till det allokerade objektet innan det omallokerades. Om Adressen inte är samma som PreviousAddress orsakade omlokaliseringen att minnet flyttades. |
| Storlek | Storlek och/eller begärd storlek för ett allokerat objekt. |
| BaseAddress | Adressen till ett allokerat objekt i heapen. Den kan representera adressen som frigörs (kostnadsfritt) eller objektets adress innan det omallokeras (ReAlloc.) |
| Flaggor | Innebörden beror på API:et. |
| Resultat | Resultatet av heap-API-anropet. Icke-noll innebär framgång och noll innebär fel. |
| Reservera storlek | Mängd minne som ska reserveras för högen. |
| CommitSize | Initialt bekräftad storlek för heapen. |
| MakeReadOnly | Ett värde som inte är noll anger en begäran om att göra heapen skrivskyddad; ett nollvärde anger att heapen ska vara skrivbar. |
Barn
| Objekt | Beskrivning |
|---|---|
| TimeStart | Ett positionsobjekt som beskriver positionen i början av allokeringen. |
| TidSlut | Ett positionsobjekt som beskriver positionen i slutet av allokeringen. |
Exempel på användning
Använd detta dx (Display Debugger Object Model Expression - Visa felsökningsobjektmodelluttryck)-kommando för att visa heapminnet som ett rutnät med alternativet -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 - - =
Utdata kan beskrivas som "normaliserade data" eftersom det finns en vald uppsättning API:er som representerar heapoperationer. De data som extraheras från lämpliga parametrar presenteras på ett enhetligt sätt.
Om du klickar på TimeStart eller TimeEnd navigerar du till den punkten i spårningen.
Klicka på fältet parametrar bredvid en specifik post för att visa tillgänglig parameterinformation.
dx -r1 @$cursession.TTD.Data.Heap()[2].@"Parameters"
@$cursession.TTD.Data.Heap()[2].@"Parameters"
[0x0] : 0x16c7d780000
[0x1] : 0x280000
[0x2] : 0x20
[0x3] : 0x0
...
Öka rekursionsvärdet -r för att visa ytterligare information.
Se även
Felsökning av tidsresor – Introduktion till felsökningsobjekt för tidsresor
Felsökning av tidsresande – Översikt