TTD 堆積物件

Description

TTD 堆積 物件可用來提供追蹤過程中發生的堆積呼叫相關信息。

屬性

每個堆積物件都會有這些屬性。

屬性 描述
動作 描述發生的動作。 可能的值為:Alloc、ReAlloc、Free、Create、Protect、Lock、Unlock、Destroy。
堆積 Win32 堆積的句柄。

條件式屬性

視堆積物件而定,它可能會有下列一些屬性。

屬性 描述
位址 已配置物件的位址。
PreviousAddress 重新配置之前所配置對象的位址。 如果 Address 與 PreviousAddress 不同,則重新配置會導致記憶體移動。
大小 已配置物件的大小和/或要求大小。
BaseAddress 堆積中已配置對象的位址。 它可以代表在重新配置 (ReAlloc.) 之前, (Free) 釋放的位址或對象的位址
Flags 意義取決於 API。
結果 堆積 API 呼叫的結果。 非零表示成功,而零表示失敗。
ReserveSize 要保留給堆積的記憶體數量。
CommitSize 堆積的初始認可大小。
MakeReadOnly 非零值表示要求將堆積設為只讀;零值表示堆積應該是讀寫。

Children

Object 描述
TimeStart 位置物件,描述配置開頭的位置。
TimeEnd 位置物件,描述配置結尾的位置。

使用方式範例

使用這個 dx 命令,使用 -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     -        -                 =

輸出可以描述為「標準化數據」,因為有一組代表堆積作業的 API。 從適當參數擷取的數據會以統一的方式呈現。

按兩下 [TimeStart] 或 [TimeEnd] 會巡覽至追蹤中的該點。

按下特定專案旁的參數位段,以顯示可用的參數資訊。

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

另請參閱

時間移動偵錯 - 時間移動偵錯對象的簡介

時間移動偵錯 - 概觀