TTD volá objekty

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 Jeden nebo více obsažených v dvojitých uvozovkách oddělených čárkou. Například dx @$cursession. TTD. Calls("module!symbol1", "module!symbol2", ...)

Properties

Property Description
EventType Typ události. Toto je volání pro všechny objekty TTD Calls.
ThreadId ID vlákna operačního systému vlákna, které provedlo požadavek.
UniqueThreadId Jedinečné ID pro vlákno v rámci trasování. Id běžných vláken se můžou opakovaně používat po celou dobu životnosti procesu, ale uniqueThreadIds nemohou.
Function Symbolický název funkce.
FunctionAddress Adresa funkce v paměti.
ReturnValue Návratová hodnota funkce. Pokud má funkce typ void, tato vlastnost nebude k dispozici.

Children

Object Description
Parameters[] Pole obsahující parametry předané funkci. Počet prvků se liší podle typu podpisu funkce.
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

Ladění časových cest používá informace o symbolech poskytovaných v souborech PDB k určení počtu parametrů funkce a jejich typů, návratového typu hodnoty a konvence volání. V případě, že informace o symbolech nejsou k dispozici nebo jsou symboly omezeny na veřejné informace o symbolech, je stále možné provádět dotazy. Dotazovací modul časových cest provede v tomto scénáři určité předpoklady:

  • Funkce má čtyři 64bitové celočíselné parametry bez znaménka.
  • Vrácená hodnota je 64bitové celé číslo bez znaménka.
  • Název funkce je nastavený na pevný řetězec: UnknownOrMissingSymbols

Tyto předpoklady umožňují provádět dotazy bez odpovídajících informací o symbolech. Nejlepších výsledků ale dosáhnete, když je to možné, úplné symboly PDB.

Všimněte si, že funkce Calls provede výpočet a v závislosti na velikosti trasování může chvíli trvat. Využití procesoru se během výpočtu zvýší a sleduje využití procesoru ve Správci úloh. To znamená, že výpočet postupuje. Výsledky dotazu se ukládají do mezipaměti, takže následné dotazy na dříve dotazovaná volání jsou výrazně rychlejší.

Example Usage

Tento příklad ukazuje objekt volání pro 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

Ladění cestováním časem – úvod k objektům pro ladění časového cestování

Ladění časové – přehled

dx (zobrazení výrazu objektového modelu ladicího programu)