Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Description
Объекты кучи TTD используются для предоставления сведений о вызовах кучи , происходящих в ходе трассировки.
Свойства
Каждый объект кучи будет иметь эти свойства.
| Свойство | Description |
|---|---|
| Действие | Описывает действие, которое произошло. Возможные значения: Alloc, ReAlloc, Free, Create, Protect, Lock, Unlock, Destroy. |
| Куча | Дескриптор кучи Win32. |
Условные свойства
В зависимости от объекта кучи он может иметь некоторые свойства ниже.
| Свойство | Description |
|---|---|
| Адрес | Адрес выделенного объекта. |
| PreviousAddress | Адрес выделенного объекта, прежде чем он был перераспределирован. Если адрес не совпадает с предыдущимaddress, то перемещение привело к перемещению памяти. |
| Размер | Размер и/или запрошенный размер выделенного объекта. |
| BaseAddress | Адрес выделенного объекта в куче. Он может представлять адрес, который будет освобожден (Бесплатный) или адрес объекта до его перераспределенности (ReAlloc).) |
| Флаги | Значение зависит от API. |
| Результат | Результат вызова API кучи. Ненулевая означает успешность и ноль означает неудачу. |
| ReserveSize | Объем памяти для резервирования кучи. |
| Фиксация | Начальный размер фиксации для кучи. |
| MakeReadOnly | Значение, отличное от нуля, указывает запрос, чтобы сделать кучу доступной только для чтения; Нулевое значение указывает, что куча должна быть чтением и записью. |
Children
| Объект | Description |
|---|---|
| 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
...
Увеличьте значение рекурсии -r, чтобы отобразить дополнительные сведения.
См. также
Отладка временных путешествий — введение в объекты отладки временных путешествий