Sdílet prostřednictvím


StopAndRelogTracingSession

Sada C++ Build Insights SDK je kompatibilní se sadou Visual Studio 2017 a novějšími verzemi. Pokud chcete zobrazit dokumentaci k těmto verzím, nastavte ovládací prvek selektoru verzí sady Visual Studio pro tento článek na Visual Studio 2017 nebo novější. Nachází se v horní části obsahu na této stránce.

Funkce StopAndRelogTracingSession zastaví probíhající trasovací relaci a uloží výsledné trasování do dočasného souboru. Relace přelogování se pak okamžitě spustí s použitím dočasného souboru jako vstupu. Konečné přelogované trasování vytvořené relací relogování se uloží do souboru určeného volajícím. Spustitelné soubory, které tuto funkci volají, musí mít oprávnění správce.

Syntaxe

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const char*                                   sessionName,
    const char*                                   outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const wchar_t*                                sessionName,
    const wchar_t*                                outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

Parametry

sessionName
Název relace trasování, která se má zastavit. Použijte stejný název relace jako název předaný startTracingSession, StartTracingSessionA nebo StartTracingSessionW.

outputLogFile
Soubor, do kterého se má zapisovat relogované trasování vytvořené relací relogování.

statistiky
Ukazatel na objekt TRACING_SESSION_STATISTICS . StopAndRelogTracingSession zapíše statistiku trasování kolekce v tomto objektu před vrácením.

numberOfAnalysisPasses
Počet předplatných analýzy, které se mají spustit na trasování. Trasování se projde zadanou skupinou analyzátoru jednou pro každý průchod analýzy.

systemEventsRetentionFlags
RELOG_RETENTION_SYSTEM_EVENT_FLAGS bitová maska, která určuje, které systémové události trasování událostí pro Windows se mají uchovávat v přelogované trasování.

analyzerGroup
Skupina analyzátorů používaná pro fázi analýzy relace relogování. Volání MakeStaticAnalyzerGroup vytvořit skupinu analyzátoru. Pokud chcete použít dynamickou skupinu analyzátorů získanou z MakeDynamicAnalyzerGroup, nejprve ji zapouzdřete do skupiny statických analyzátorů předáním jeho adresy MakeStaticAnalyzerGroup.

reloggerGroup
Skupina relogger, která reloguje události do trasovacího souboru zadaného ve outputLogFile. Volání MakeStaticReloggerGroup pro vytvoření relogger skupiny. Pokud chcete použít dynamickou reloggerovou skupinu získanou z MakeDynamicReloggerGroup, nejprve ji zapouzdřte do statické skupiny relogger předáním jeho adresy MakeStaticReloggerGroup.

Návratová hodnota

Kód výsledku z výčtu RESULT_CODE .

Poznámky

Vstupní trasování je předáno prostřednictvím skupiny analyzátoru čísloOfAnalysisPasses times. Neexistuje žádná podobná možnost pro přelogování průchodů. Trasování se předá skupině reloggeru pouze jednou, po dokončení všech průchodů analýzy.

Relogování systémových událostí, jako jsou ukázky procesoru z relogger třídy, není podporováno. Pomocí parametru systemEventsRetentionFlags rozhodněte, které systémové události se mají zachovat ve výstupním trasování.