Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 | Uma ou mais contidas entre aspas duplas, separadas por uma vírgula. Por exemplo, dx @$cursession. TTD. Chamadas("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | O tipo de evento. Esta é "Call" para todos os objetos TTD Calls. |
| ThreadId | O ID de thread do sistema operacional do thread que fez a solicitação. |
| UniqueThreadId | Um ID exclusivo para o thread através do rastreamento. IDs de thread regulares podem ser reutilizados ao longo da vida útil 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 de retorno da função. Se a função tiver um tipo void, essa propriedade não estará presente. |
Children
| Object | Description |
|---|---|
| Parameters[] | Uma matriz contendo os parâmetros passados para a função. O número de elementos varia com base na 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 para uma função e seus tipos, o tipo de valor de retorno e a convenção de chamada. No caso de a informação do símbolo não estar disponível ou de os símbolos terem sido restringidos à informação do símbolo público, 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 não assinados de 64 bits para a função
- O valor de retorno é um inteiro não assinado de 64 bits
- O nome da função é definido como uma cadeia de caracteres fixa: "UnknownOrMissingSymbols"
Estes pressupostos permitem que sejam feitas consultas na ausência de informações adequadas sobre os símbolos. No entanto, para obter melhores resultados, utilize, sempre que possível, símbolos completos do APO.
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 Temporal - Introdução aos Objetos de Depuração Temporal