Relog
C++ Build Insights SDK는 Visual Studio 2017 이상과 호환됩니다. 이러한 버전에 대한 설명서를 보려면 이 문서에 대한 Visual Studio 버전 선택기 컨트롤을 Visual Studio 2017 이상으로 설정하세요. 이 페이지의 목차 맨 위에 있습니다.
Relog
함수는 ETW(Windows용 이벤트 추적)에서 MSVC 이벤트를 읽고 새롭게 수정된 ETW 추적에 쓰는 용도로 사용합니다.
구문
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);
매개 변수
TAnalyzerGroupMembers
이 매개 변수는 항상 추론됩니다.
TReloggerGroupMembers
이 매개 변수는 항상 추론됩니다.
inputLogFile
이벤트를 읽을 입력 ETW 추적입니다.
outputLogFile
새 이벤트를 쓸 파일입니다.
numberOfAnalysisPasses
입력 추적에서 실행할 분석 패스의 수입니다. 추적은 제공된 분석기 그룹을 통해 분석 패스별로 한 번씩 전달됩니다.
systemEventsRetentionFlags
다시 로깅된 추적에 유지할 시스템 ETW 이벤트를 지정하는 비트마스크입니다. 자세한 내용은 RELOG_RETENTION_SYSTEM_EVENT_FLAGS를 참조하세요.
analyzerGroup
다시 로깅 세션의 분석 단계에 사용하는 분석기 그룹입니다. MakeStaticAnalyzerGroup을 호출하여 분석기 그룹을 만듭니다. MakeDynamicAnalyzerGroup에서 얻은 동적 분석기 그룹을 사용하려면 먼저 주소를 MakeStaticAnalyzerGroup
으로 전달하여 정적 분석기 그룹 안에서 캡슐화해야 합니다.
reloggerGroup
outputLogFile에서 지정된 추적 파일에 이벤트를 다시 로깅하는 재로거 그룹입니다. MakeStaticReloggerGroup을 호출하여 재로거 그룹을 만드세요. MakeDynamicReloggerGroup에서 얻은 동적 재로거 그룹을 사용하려면 먼저 해당 주소를 MakeStaticReloggerGroup
에 전달하여 정적 재로거 그룹 안에서 캡슐화해야 합니다.
Return Value
RESULT_CODE 열거형의 결과 코드입니다.
설명
입력 추적은 분석기 그룹에 numberOfAnalysisPasses회 전달됩니다. 다시 로깅 패스에는 유사한 옵션이 없습니다. 추적은 모든 분석 패스가 완료된 후 재로거 그룹에 한 번만 전달됩니다.
재로거 클래스 내에서 CPU 샘플과 같은 시스템 이벤트의 다시 로깅은 지원되지 않습니다. systemEventsRetentionFlags 매개 변수를 사용하여 출력 추적에 유지할 시스템 이벤트를 결정합니다.
함수는 relog
COM API에 따라 달라집니다. 를 호출하기 전에 호출 CoInitialize
relog
해야 합니다. 한 번 relog
호출 CoUninitialize
이 완료되었습니다. 먼저 호출 CoInitialize
하지 않고 호출 relog
하면 오류 코드 9(RESULT_CODE_FAILURE_START_RELOGGER
)가 표시됩니다.