Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 | Een of meer tussen dubbele aanhalingstekens, gescheiden door een komma. Bijvoorbeeld dx @$cursession. TTD. Aanroepen("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | Het type gebeurtenis. Dit is 'Aanroepen' voor alle TTD-aanroepen-objecten. |
| ThreadId | De thread-id van het besturingssysteem van de thread die de aanvraag heeft ingediend. |
| UniqueThreadId | Een unieke id voor de thread in de trace. Reguliere thread-id's kunnen gedurende de levensduur van een proces opnieuw worden gebruikt, maar UniqueThreadIds niet. |
| Function | De symbolische naam van de functie. |
| FunctionAddress | Het adres van de functie in het geheugen. |
| ReturnValue | De retourwaarde van de functie. Als de functie een ongeldig type heeft, is deze eigenschap niet aanwezig. |
Children
| Object | Description |
|---|---|
| Parameters[] | Een matrix met de parameters die aan de functie zijn doorgegeven. Het aantal elementen varieert op basis van de typehandtekening van de functie. |
| 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
Foutopsporing in tijdreizen maakt gebruik van symboolinformatie in de PDBs om het aantal parameters voor een functie en hun typen, het type retourwaarde en de aanroepconventie te bepalen. In het geval dat symboolgegevens niet beschikbaar zijn of de symbolen zijn beperkt tot openbare symboolgegevens, is het nog steeds mogelijk om query's uit te voeren. De query-engine voor tijdreizen zal enkele veronderstellingen maken in dit scenario:
- Er zijn vier 64-bits niet-ondertekende geheel getalparameters voor de functie
- De retourwaarde is een 64-bits geheel getal zonder teken
- De functienaam is ingesteld op een vaste tekenreeks: 'UnknownOrMissingSymbols'
Met deze veronderstellingen kunnen query's worden uitgevoerd als er geen adequate symboolinformatie is. Voor de beste resultaten worden echter indien mogelijk volledige PDB-symbolen gebruikt.
Houd er rekening mee dat de functie Aanroepen berekeningen uitvoert en afhankelijk van de grootte van de tracering, kan het even duren voordat deze wordt uitgevoerd. HET CPU-gebruik zal pieken tijdens de berekening en het CPU-gebruik in taakbeheer bekijken, geeft een indicatie dat de berekening vordert. De queryresultaten worden in het geheugen opgeslagen, zodat volgende query's voor eerder opgevraagde aanroepen aanzienlijk sneller zijn.
Example Usage
In dit voorbeeld ziet u het aanroepobject voor 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
Foutopsporing van tijdreizen - Inleiding tot foutopsporingsobjecten voor tijdreizen