Dela via


TTD-anropsobjekt

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

dx (Visning av objektmodelluttryck för felsökningsprogram)