C++ Build Insights SDK 與 Visual Studio 2017 和更新版本相容。 若要查看這些版本的文件,請將本文的 Visual Studio 版本選取器控制項設定為 Visual Studio 2017 或更新版本。 其位於此頁面目錄頂端。
函 StopAndRelogTracingSession 式會停止進行中的追蹤會話,並將產生的追蹤儲存在暫存盤中。 然後,重新記錄會話會立即開始使用暫存盤做為輸入。 重新記錄會話所產生的最終重新記錄追蹤會儲存在呼叫端指定的檔案中。 呼叫此函式的可執行文件必須具有系統管理員許可權。
語法
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);
參數
sessionName
要停止的追蹤會話名稱。 使用與傳遞至 StartTracingSession、 StartTracingSessionA 或 StartTracingSessionW 的會話名稱相同。
outputLogFile
要在其中寫入重新記錄會話所產生的重新記錄追蹤的檔案。
統計資料
TRACING_SESSION_STATISTICS 物件的指標。
StopAndRelogTracingSession 在傳回之前,會寫入這個 對象的追蹤集合統計數據。
分析次數
在追蹤上執行的分析傳遞數目。 追蹤會在每個分析階段通過所提供的分析器群組一次。
系統事件保留標誌
RELOG_RETENTION_SYSTEM_EVENT_FLAGS位掩碼,指定要保留在重新記錄追蹤中的系統 ETW 事件。
analyzerGroup
用於重新記錄工作階段分析階段的分析器群組。 呼叫 MakeStaticAnalyzerGroup 以建立分析器群組。 如果您想要使用從 MakeDynamicAnalyzerGroup 取得的動態分析器群組,請先將地址傳遞至 ,將其封裝在 MakeStaticAnalyzerGroup靜態分析器群組中。
reloggerGroup
重新記錄器群組,會將事件重新記錄到 outputLogFile 中指定的追蹤檔案中。 呼叫 MakeStaticReloggerGroup 以建立重新記錄器群組。 如果您想要使用從 MakeDynamicReloggerGroup 取得的動態重新記錄器群組,請先將地址傳遞至 ,將其封裝在 MakeStaticReloggerGroup靜態重新記錄器群組內。
傳回值
來自 RESULT_CODE 列舉的結果碼。
備註
輸入追蹤會透過分析器組 數OfAnalysisPasses 時間傳遞。 重新記錄傳遞沒有類似的選項。 在所有分析完成後,該軌跡只會通過重錄群一次。
不支援從重新記錄器類別內重新記錄系統事件,例如CPU範例。 使用 systemEventsRetentionFlags 參數來決定要保留在輸出追蹤中的系統事件。