次の方法で共有


TTD ヒープ オブジェクト

説明

TTD ヒープ オブジェクトは、トレースの過程で発生するヒープ呼び出しに関する情報を提供するために使用されます。

プロパティ

すべてのヒープ オブジェクトに、次のプロパティがあります。

プロパティ 説明
アクション 発生したアクションを表します。 指定できる値は、Alloc、ReAlloc、Free、Create、Protect、Lock、Unlock、Destroy です。
ヒープ Win32 ヒープのハンドル。

条件付きプロパティ

ヒープ オブジェクトによっては、以下のプロパティの一部が含まれる場合があります。

プロパティ 説明
番地 割り当てられたオブジェクトのアドレス。
PreviousAddress 割り当てられたオブジェクトが再割り当てされる前のアドレス。 Address が PreviousAddress と同じでない場合、再割り当てによってメモリが移動したことになります。
サイズ 割り当てられたオブジェクトのサイズまたは要求されたサイズ。
BaseAddress ヒープ内に割り当てられたオブジェクトのアドレス。 解放されるアドレス (Free) または再割り当て前のオブジェクトのアドレス (ReAlloc) を表すことができます。
Flags 意味は API によって異なります。
結果 ヒープ API 呼び出しの結果。 0 以外は成功を意味し、ゼロは失敗を意味します。
ReserveSize ヒープ用に予約するメモリの量。
CommitSize ヒープの初期コミット サイズ。
MakeReadOnly 0 以外の値は、ヒープを読み取り専用にする要求を示します。0 の値は、ヒープを読み取り/書き込み可能にすることを示します。

Object 説明
TimeStart 割り当ての開始時の位置を表す位置オブジェクト
TimeEnd 割り当ての終了時の位置を表す位置オブジェクト

使用例

この dx (Display Debugger Object Model Expression) コマンドを使用して、-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
...    

再帰 -r 値を大きくすると、追加情報が表示されます。

参照

Time Travel Debugging - Time Travel Debugging オブジェクトの概要

Time Travel Debugging - 概要

dx (デバッガー オブジェクト モデル式の表示)