Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
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
Отладка временных путешествий — введение в объекты отладки временных путешествий