Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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)