Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 | Un ou plusieurs contenus entre guillemets doubles, séparés par une virgule. Par exemple, dx @$cursession. TTD. Calls(« module !symbol1 », « module !symbol2 », ...) |
Properties
| Property | Description |
|---|---|
| EventType | le type d’événement ; Il s’agit de « Call » pour tous les objets TTD Calls. |
| ThreadId | L’ID de thread du système d’exploitation du thread qui a fait la demande. |
| UniqueThreadId | Un ID unique pour le thread à travers la trace. Les IDs de thread réguliers peuvent être réutilisés au cours de la durée de vie d’un processus mais les UniqueThreadIds ne peuvent pas l’être. |
| Function | Nom symbolique de la fonction. |
| FunctionAddress | Adresse de la fonction en mémoire. |
| ReturnValue | Valeur de retour de la fonction. Si la fonction a un type void, cette propriété n’est pas présente. |
Children
| Object | Description |
|---|---|
| Parameters[] | Tableau contenant les paramètres passés à la fonction. Le nombre d’éléments varie en fonction de la signature de type de la fonction. |
| 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
Le débogage de voyage dans le temps utilise les informations de symbole fournies dans les bases de données pour déterminer le nombre de paramètres d’une fonction et de leurs types, le type de valeur de retour et la convention d’appel. Si les informations de symbole ne sont pas disponibles ou que les symboles ont été limités aux informations de symboles publics, il est toujours possible d’effectuer des requêtes. Le moteur de requête de voyage dans le temps effectue certaines hypothèses dans ce scénario :
- Il existe quatre paramètres entiers non signés 64 bits à la fonction
- La valeur de retour est un entier non signé 64 bits
- Le nom de la fonction est défini sur une chaîne fixe : « UnknownOrMissingSymbols »
Ces hypothèses permettent aux requêtes d’être effectuées en l’absence d’informations adéquates sur les symboles. Toutefois, pour de meilleurs résultats, utilisez des symboles PDB complets lorsque cela est possible.
Notez que la fonction Appels effectue un calcul et, selon la taille de la trace, il peut prendre un certain temps pour s’exécuter. L’utilisation du processeur augmente pendant le calcul et surveille l’utilisation du processeur dans le gestionnaire de tâches, indique que le calcul progresse. Les résultats de la requête sont mis en cache en mémoire afin que les requêtes suivantes sur les appels interrogés précédemment soient beaucoup plus rapides.
Example Usage
Cet exemple montre l’objet d’appels pour 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
Débogage de voyage dans le temps - Introduction aux objets de débogage de voyage dans le temps