Relog
C++ Build Insights SDK'sı Visual Studio 2017 ve sonraki sürümlerle uyumludur. Bu sürümlerin belgelerini görmek için bu makalenin Visual Studio Sürüm seçici denetimini Visual Studio 2017 veya üzeri olarak ayarlayın. Bu sayfadaki içindekiler tablosunun en üstünde bulunur.
Relog
İşlev, Windows için Olay İzleme (ETW) izlemesinden MSVC olaylarını okumak ve bunları yeni, değiştirilmiş bir ETW izlemesine yazmak için kullanılır.
Sözdizimi
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);
Parametreler
TAnalyzerGroupMembers
Bu parametre her zaman çıkarılır.
TReloggerGroupMembers
Bu parametre her zaman çıkarılır.
inputLogFile
Olayları okumak istediğiniz giriş ETW izlemesi.
outputLogFile
Yeni olayların yazıldığı dosya.
numberOfAnalysisPasses
Giriş izlemesinde çalıştırılacak çözümleme geçişi sayısı. İzleme, analiz geçişi başına bir kez sağlanan çözümleyici grubundan geçirilir.
systemEventsRetentionFlags
Yeniden yer değiştirme izlemesinde tutulacak sistem ETW olaylarını belirten bit maskesi. Daha fazla bilgi için bkz . RELOG_RETENTION_SYSTEM_EVENT_FLAGS.
analyzerGroup
Yeniden dağıtma oturumunun analiz aşaması için kullanılan çözümleyici grubu. Çözümleyici grubu oluşturmak için MakeStaticAnalyzerGroup'u çağırın. MakeDynamicAnalyzerGroup'tan alınan dinamik çözümleyici grubunu kullanmak için önce adresini MakeStaticAnalyzerGroup
öğesine geçirerek statik bir çözümleyici grubu içinde kapsülleyin.
reloggerGroup
Olayları outputLogFile içinde belirtilen izleme dosyasına yeniden kaydeden relogger grubu. Yeniden günlükçü grubu oluşturmak için MakeStaticReloggerGroup'u çağırın. MakeDynamicReloggerGroup'tan alınan dinamik bir yeniden günlükçü grubunu kullanmak için önce adresini MakeStaticReloggerGroup
öğesine geçirerek statik bir yeniden günlükçü grubu içinde kapsülleme yapın.
Dönüş Değeri
RESULT_CODE sabit tablosundan bir sonuç kodu.
Açıklama
Giriş izlemesi, çözümleyici grubu numberOfAnalysisPasses zamanları üzerinden geçirilir. Geçişleri yeniden dağıtmak için benzer bir seçenek yoktur. İzleme, tüm analiz geçişleri tamamlandıktan sonra relogger grubuna yalnızca bir kez geçirilir.
CPU örnekleri gibi sistem olaylarının bir yeniden günlükçü sınıfı içinden yeniden taşınmasını desteklemez. Çıkış izlemesinde hangi sistem olaylarının tutulacaklarına karar vermek için systemEventsRetentionFlags parametresini kullanın.
İşlev, relog
COM API'sine bağlıdır. çağrısına başlamadan önce aramanız CoInitialize
relog
gerekir. İşlem tamamlandıktan sonra relog
arayınCoUninitialize
. Önce arama yapmadan ararsanız relog
CoInitialize
hata kodu 9 (RESULT_CODE_FAILURE_START_RELOGGER
) alırsınız.