Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Description
TTD Calls objects are used to give information about function calls that occur over the course of a trace.
Parameters
| Property | Description |
|---|---|
| Function!SymbolName | Один или несколько, содержащихся в двойных кавычках, разделенных запятой. Например, dx @$cursession. TTD. Вызовы("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | Тип события. Это "Вызов" для всех объектов вызовов TTD. |
| ThreadId | Идентификатор потока ОС, который сделал запрос. |
| UniqueThreadId | Уникальный идентификатор потока в трассировке. Обычные идентификаторы потоков могут повторно использоваться в течение всего времени существования процесса, но UniqueThreadIds не может. |
| Function | Символическое имя функции. |
| FunctionAddress | Адрес функции в памяти. |
| ReturnValue | Возвращаемое значение функции. Если функция имеет тип void, это свойство не будет присутствовать. |
Children
| Object | Description |
|---|---|
| Parameters[] | Массив, содержащий параметры, переданные функции. Количество элементов зависит от сигнатуры типа функции. |
| TimeStart | A position object that describes the position at the start of the call. |
| TimeEnd | A position object that describes the position at the end of the call. |
Remarks
Отладка перемещения по времени использует сведения о символах, предоставленные в PDF-файлах, для определения количества параметров функции и их типов, возвращаемого типа значения и соглашения о вызовах. В случае, если сведения о символах недоступны или символы были ограничены общедоступными сведениями о символах, по-прежнему можно выполнять запросы. Подсистема запросов по пути во времени будет делать некоторые предположения в этом сценарии:
- Существует четыре 64-разрядных целочисленных параметра без знака для функции.
- Возвращаемое значение — 64-разрядное целое число без знака
- Для имени функции задана фиксированная строка : "UnknownOrMissingSymbols"
Эти предположения позволяют выполнять запросы в отсутствие надлежащих сведений о символах. Однако для получения наилучших результатов по возможности используются полные символы PDB.
Обратите внимание, что функция "Вызовы" выполняет вычисления и в зависимости от размера трассировки может занять некоторое время. Загрузка ЦП будет резко возрастать во время вычислений и наблюдения за использованием ЦП в диспетчере задач, дает указание на то, что вычисления выполняются. Результаты запроса кэшируются в памяти, поэтому последующие запросы к ранее запрашиваемые вызовы значительно быстрее.
Example Usage
В этом примере показан объект вызовов для ucrtbase!initterm.
0:000> dx -r2 @$cursession.TTD.Calls("ucrtbase!initterm")
@$cursession.TTD.Calls("ucrtbase!initterm")
[0x0]
EventType : Call
ThreadId : 0x2074
UniqueThreadId : 0x2
TimeStart : 1E:5D0
TimeEnd : 2D:E
Function : ucrtbase!_initterm
FunctionAddress : 0x7ffb345825d0
ReturnAddress : 0x7ff6a521677e
Parameters
SystemTimeStart : Friday, January 12, 2024 21:18:40.799
SystemTimeEnd : Friday, January 12, 2024 21:18:44.26
See Also
Отладка временных путешествий — введение в объекты отладки временных путешествий