Sdílet prostřednictvím


Relog

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 Relog se používá ke čtení událostí MSVC z trasování událostí pro Windows (ETW) a zapisuje je do nového upraveného trasování Trasování událostí pro Windows.

Syntaxe

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

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

Parametry

TAnalyzerGroupMembers
Tento parametr se vždy odvodí.

TReloggerGroupMembers
Tento parametr se vždy odvodí.

inputLogFile
Vstupní trasování Trasování událostí pro Windows, ze kterého chcete číst události.

outputLogFile
Soubor, do kterého chcete zapsat nové události.

numberOfAnalysisPasses
Počet průchodů analýzy ke spuštění na vstupním trasování. Trasování se projde zadanou skupinou analyzátoru jednou pro každý průchod analýzy.

systemEventsRetentionFlags
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í. Další informace najdete v tématu RELOG_RETENTION_SYSTEM_EVENT_FLAGS.

analyzerGroup
Skupina analyzátorů používaná pro fázi analýzy relace relogování. Volání MakeStaticAnalyzerGroup vytvořit skupinu analyzátoru. Chcete-li 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. Chcete-li použít dynamickou reloggerovou skupinu získanou z MakeDynamicReloggerGroup, nejprve ji zapouzdřením uvnitř statické relogger skupiny předáním jeho adresy MakeStaticReloggerGroup.

Návratová hodnota

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

Poznámka

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í.

Tato relog funkce závisí na rozhraní COM API. Před voláním musíte zavolat CoInitialize relog. Jakmile relog se hovor CoUninitialize dokončí. Pokud zavoláte relog bez prvního volání CoInitialize , zobrazí se kód chyby 9 (RESULT_CODE_FAILURE_START_RELOGGER).