TTD-halomobjektumok

Leírás

A TTD-halomobjektumok a nyomkövetés során előforduló halomhívásokkal kapcsolatos információk megadására szolgálnak.

Tulajdonságok

Minden heap objektum rendelkezik ezekkel a tulajdonságokkal.

Ingatlan Leírás
Tevékenység A végrehajtott műveletet ismerteti. Lehetséges értékek: Alloc, ReAlloc, Free, Create, Protect, Lock, Unlock, Destroy.
Halom A Win32 halom fogópontja.

Feltételes tulajdonságok

A halomobjektumtól függően előfordulhat, hogy az alábbi tulajdonságok némelyike található benne.

Ingatlan Leírás
Cím A lefoglalt objektum címe.
KorábbiCím A lefoglalt objektum címe az újraelosztás előtt. Ha a cím nem ugyanaz, mint az PreviousAddress, akkor az újrakiosztás miatt a memória áthelyeződett.
Méret Egy lefoglalt objektum mérete és/vagy kért mérete.
BaseAddress Egy lefoglalt objektum címe a halomban. Ez jelentheti a felszabadított (Free) címet vagy az objektum címét újraallokálás előtt (ReAlloc).
Zászlók A jelentés az API-tól függ.
Eredmény A halom API-hívás eredménye. A nem nulla a sikert, a nullát pedig a sikertelenséget jelenti.
ReserveSize A halom számára lefoglalni kívánt memória mennyisége.
ElkötelezettMéret A halom kezdeti lefoglalt mérete.
MakeReadOnly A nem nulla érték azt jelzi, hogy a halom legyen írásvédett; A nulla érték azt jelzi, hogy a halom olvasható és írható legyen.

Gyermekek

Objektum Leírás
TimeStart Egy pozícióobjektum , amely a foglalás elején lévő pozíciót írja le.
IdőVége Egy pozícióobjektum , amely a foglalás végén lévő pozíciót írja le.

Használati példa

Ezzel a dx (Display Debugger Object Model Expression) paranccsal megjelenítheti a halommemóriát egy rácson a -g lehetőséggel.

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     -        -                 =

A kimenet "normalizált adatoknak" tekinthető, mert egy kiválasztott API-készlet ábrázolja a halomműveleteket. A megfelelő paraméterekből kinyert adatok egységes módon jelennek meg.

A TimeStart vagy a TimeEnd elemre kattintva a nyomkövetés adott pontjára navigálhat.

Kattintson egy adott bejegyzés melletti paramétermezőre a rendelkezésre álló paraméterinformációk megjelenítéséhez.

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

Növelje a rekurziós -r értékét további információk megjelenítéséhez.

Lásd még:

Time Travel Hibakeresés – Bevezetés a Time Travel hibakeresési objektumaiba

Time Travel Hibakeresés – Áttekintés

dx (Display Debugger Object Model Expression) (megjeleníti a hibakereső objektum modellkifejezését)