Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 | Um ou mais contidos entre aspas duplas, separados por vírgula. Por exemplo, dx @$cursession. TTD. Chamadas("módulo!símbolo1", "módulo!símbolo2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | O tipo do evento. Esta é a "Chamada" para todos os objetos de chamadas TTD. |
| ThreadId | A ID do thread do sistema operacional do thread que fez a solicitação. |
| UniqueThreadId | Uma ID exclusiva para o thread no rastreamento. As IDs de thread regulares podem ser reutilizadas durante o tempo de vida de um processo, mas UniqueThreadIds, não. |
| Function | O nome simbólico da função. |
| FunctionAddress | O endereço da função na memória. |
| ReturnValue | O valor retornado da função. Se a função tiver um tipo void, essa propriedade não estará presente. |
Children
| Object | Description |
|---|---|
| Parameters[] | Uma matriz que contém os parâmetros passados para a função. O número de elementos varia de acordo com a assinatura de tipo da função. |
| 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
A depuração de viagem no tempo usa informações de símbolo fornecidas nos PDBs para determinar o número de parâmetros de uma função e seus tipos, o tipo de valor retornado e a convenção de chamada. Caso as informações do símbolo não estejam disponíveis ou os símbolos tenham sido restritos a informações públicas do símbolo, ainda é possível fazer consultas. O mecanismo de consulta de viagem no tempo fará algumas suposições neste cenário:
- Há quatro parâmetros inteiros sem sinal de 64 bits para a função
- O valor retornado é um inteiro sem sinal de 64 bits
- O nome da função é definido como uma cadeia de caracteres fixa: "UnknownOrMissingSymbols"
Essas suposições permitem que consultas sejam feitas na ausência de informações de símbolo adequadas. No entanto, para obter melhores resultados, use símbolos PDB completos quando possível.
Observe que a função Calls faz computação e, dependendo do tamanho do rastreamento, pode demorar um pouco para ser executada. O uso da CPU aumentará durante a computação e observar o uso da CPU no gerenciador de tarefas dá uma indicação de que a computação está progredindo. Os resultados da consulta são armazenados em cache na memória para que as consultas subsequentes em chamadas consultadas anteriormente sejam significativamente mais rápidas.
Example Usage
Este exemplo mostra o objeto calls para 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
Depuração de viagem no tempo - Introdução à Depuração de objetos de viagem no tempo