Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Descrizione
Gli oggetti heap TTD vengono usati per fornire informazioni sulle chiamate heap che si verificano nel corso di una traccia.
Proprietà
Ogni oggetto heap avrà queste proprietà.
| Proprietà | Descrizione |
|---|---|
| Azione | Descrive l'azione che si è verificata. I valori possibili sono: Alloc, ReAlloc, Free, Create, Protect, Lock, Unlock, Destroy. |
| Heap | Handle per l'heap Win32. |
Proprietà condizionali
A seconda dell'oggetto heap, potrebbe avere alcune delle proprietà seguenti.
| Proprietà | Descrizione |
|---|---|
| Address | Indirizzo dell'oggetto allocato. |
| PreviousAddress | Indirizzo dell'oggetto allocato prima della riallocazione. Se Address non è uguale a PreviousAddress, la riallocazione ha causato lo spostamento della memoria. |
| Dimensione | Dimensioni e/o dimensioni richieste di un oggetto allocato. |
| BaseAddress | Indirizzo di un oggetto allocato nell'heap. Può rappresentare l'indirizzo che verrà liberato (gratuito) o l'indirizzo dell'oggetto prima che venga riallocato (ReAlloc). |
| Flag | Il significato dipende dall'API. |
| Risultato | Risultato della chiamata API heap. Diverso da zero significa esito positivo e zero significa errore. |
| ReserveSize | Quantità di memoria da riservare per l'heap. |
| CommitSize | Dimensioni iniziali di cui è stato eseguito il commit per l'heap. |
| MakeReadOnly | Un valore diverso da zero indica una richiesta di sola lettura dell'heap; Un valore zero indica che l'heap deve essere di lettura/scrittura. |
Children
| Oggetto | Descrizione |
|---|---|
| TimeStart | Oggetto position che descrive la posizione all'inizio dell'allocazione. |
| TimeEnd | Oggetto position che descrive la posizione alla fine dell'allocazione. |
Utilizzo di esempio
Usare questo comando dx (Display Debugger Object Model Expression) per visualizzare la memoria dell'heap in una griglia usando l'opzione -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 - - =
L'output può essere descritto come "dati normalizzati" perché è presente un set scelto di API che rappresentano operazioni heap. I dati estratti dai parametri appropriati vengono presentati in modo uniforme.
Facendo clic su TimeStart o TimeEnd si passerà a quel punto nella traccia.
Fare clic sul campo parametri accanto a una voce specifica per visualizzare le informazioni sui parametri disponibili.
dx -r1 @$cursession.TTD.Data.Heap()[2].@"Parameters"
@$cursession.TTD.Data.Heap()[2].@"Parameters"
[0x0] : 0x16c7d780000
[0x1] : 0x280000
[0x2] : 0x20
[0x3] : 0x0
...
Aumentare il valore di ricorsione -r per visualizzare informazioni aggiuntive.
Vedi anche
Debug di viaggi temporali - Introduzione agli oggetti di debug di viaggi temporali