Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 | Ett eller flera som finns i dubbla citattecken, avgränsade med ett kommatecken. Till exempel dx @$cursession. TTD. Calls("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | Typ av händelse. Det här är "Samtal" för alla TTD-anropsobjekt. |
| ThreadId | Operativsystemets tråd-ID för tråden som gjorde begäran. |
| UniqueThreadId | Ett unikt ID för tråden i spårningen. Vanliga tråd-ID:t kan återanvändas under en processs livslängd, men det kan inte UniqueThreadIds. |
| Function | Det symboliska namnet på funktionen. |
| FunctionAddress | Funktionens adress i minnet. |
| ReturnValue | Funktionens returvärde. Om funktionen har en void-typ kommer den här egenskapen inte att finnas. |
Children
| Object | Description |
|---|---|
| Parameters[] | En matris som innehåller parametrarna som skickas till funktionen. Antalet element varierar beroende på funktionens typsignatur. |
| 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
Felsökning av tidsresor använder symbolinformation som anges i PDF-filerna för att fastställa antalet parametrar för en funktion och deras typer, returvärdestypen och anropskonventionen. Om symbolinformationen inte är tillgänglig eller om symbolerna har begränsats till offentlig symbolinformation är det fortfarande möjligt att göra frågor. Frågemotorn för tidsresor gör vissa antaganden i det här scenariot:
- Det finns fyra 64-bitars osignerade heltalsparametrar till funktionen
- Returvärdet är ett 64-bitars osignerat heltal
- Funktionsnamnet är inställt på en fast sträng: "UnknownOrMissingSymbols"
Dessa antaganden gör att frågor kan göras i avsaknad av lämplig symbolinformation. För bästa resultat använder du dock fullständiga PDB-symboler när det är möjligt.
Observera att anropsfunktionen gör beräkningar, och beroende på spårningens storlek kan det ta en stund att köra. Cpu-användningen ökar under beräkningen och att titta på CPU-användning i Aktivitetshanteraren ger en indikation på att beräkningen pågår. Frågeresultatet cachelagras i minnet, så efterföljande frågor mot tidigare efterfrågade anrop går betydligt snabbare.
Example Usage
Det här exemplet visar anropsobjektet för 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
Felsökning av tidsresor – Introduktion till felsökningsobjekt för tidsresor
Felsökning av tidsresande – Översikt