Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Build Insights SDK per C++ è compatibile con Visual Studio 2017 e versioni successive. Per visualizzare la documentazione per queste versioni, impostare il controllo selettore della versione di Visual Studio per questo articolo su Visual Studio 2017 o versione successiva. Si trova nella parte superiore del sommario in questa pagina.
La Relog
funzione viene usata per leggere gli eventi MSVC da una traccia ETW (Event Tracing for Windows) e scriverli in una nuova traccia ETW modificata.
Sintassi
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);
Parametri
TAnalyzerGroupMembers
Questo parametro viene sempre dedotto.
TReloggerGroupMembers
Questo parametro viene sempre dedotto.
inputLogFile
Traccia ETW di input da cui si desidera leggere gli eventi.
outputLogFile
File in cui scrivere i nuovi eventi.
numeroDiPassaggiDiAnalisi
Numero di passaggi di analisi da eseguire nella traccia di input. La traccia viene passata attraverso il gruppo di analizzatori fornito una volta per ogni passaggio di analisi.
systemEventsRetentionFlags
Maschera di bit che specifica gli eventi ETW di sistema da mantenere nella traccia registrata di nuovo. Per altre informazioni, vedere RELOG_RETENTION_SYSTEM_EVENT_FLAGS.
analyzerGroup
Gruppo di analizzatori usato per la fase di analisi della sessione di rilogging. Chiamare MakeStaticAnalyzerGroup per creare un gruppo di analizzatori. Per usare un gruppo analizzatore dinamico ottenuto da MakeDynamicAnalyzerGroup, incapsularlo prima all'interno di un gruppo di analizzatori statici passandone l'indirizzo a MakeStaticAnalyzerGroup
.
reloggerGroup
Gruppo di rilogger che registra nuovamente gli eventi nel file di traccia specificato in outputLogFile. Chiamare MakeStaticReloggerGroup per creare un gruppo di rilogger. Per usare un gruppo di rilogger dinamico ottenuto da MakeDynamicReloggerGroup, incapsularlo prima all'interno di un gruppo di rilogger statico passandone l'indirizzo a MakeStaticReloggerGroup
.
Valore restituito
Codice di risultato dell'enumerazione RESULT_CODE .
Commento
La traccia di input viene passata attraverso il numero del gruppo analizzatoreOfAnalysisPasses volte. Non esiste un'opzione simile per il rilogging dei passaggi. La traccia viene passata attraverso il gruppo di rilogger una sola volta, dopo il completamento di tutti i passaggi di analisi.
Il rilogging degli eventi di sistema, ad esempio esempi di CPU dall'interno di una classe relogger, non è supportato. Usare il parametro systemEventsRetentionFlags per decidere quali eventi di sistema conservare nella traccia di output.
La relog
funzione dipende dall'API COM. È necessario chiamare prima di chiamare CoInitialize
relog
.
CoUninitialize
Una volta completata la chiamatarelog
. Se si chiama relog
senza prima chiamata a CoInitialize
, si otterrà il codice di errore 9 (RESULT_CODE_FAILURE_START_RELOGGER
).