参考:vcperf 命令

C++ 生成见解工具在 Visual Studio 2019 和更高版本中可用。 若要查看此版本对应的文档,请将本文的 Visual Studio“版本”选择器控件设置为“Visual Studio 2019”。 它位于此页面上目录表的顶部。

本文列出并介绍 vcperf.exe 中可用的命令以及如何使用它们。

用于开始跟踪和停止跟踪的命令

重要

除非指定/noadmin,否则以下命令需要管理权限。

选项 参数和描述
/start
在给定的会话名称下启动跟踪。

/noadmin选项在无管理员权限的情况下运行vcperf.exe,并忽略/nocpusampling选项。 在无管理员权限的情况下运行 vcperf 时,给定计算机上可以有多个活动会话。

/nocpusampling选项指定vcperf.exe不收集 CPU 样本。 它会阻止在 Windows 性能分析器中使用“CPU 使用率”(采样)视图,会使收集的跟踪显得更小。

/level1/level2/level3选项指定要收集的 MSVC 事件,以提高信息级别。 级别 3 包括所有事件。 级别 2 包括除模板实例化事件之外的所有事件。 级别 1 包括除模板实例化、函数和文件事件之外的所有事件。 如果未指定,默认选择/level2

vcperf.exe启动跟踪后,会立即返回。 跟踪为计算机上运行的所有进程收集系统范围内的事件。 这意味着,无需在与用于运行vcperf.exe相同的命令提示符窗口中生成项目。 例如,可以在 Visual Studio 中生成项目。
/stop (1) [/templates] <sessionName> <outputFile.etl>
(2) [/templates] <sessionName> /timetrace <outputFile.json>
停止由给定会话名称标识的跟踪。 对跟踪运行后处理步骤,以生成由<outputFile>参数指定的文件。

/templates选项包括文件中的模板实例化事件。

(1) 在 Windows 性能分析器 (WPA) 中生成可查看的文件。 输出文件需要.etl扩展名。
(2) 在 Microsoft Edge 跟踪查看器 (edge://tracing) 中生成可查看的文件。 输出文件需要.json扩展名。
/stopnoanalyze <sessionName> <rawOutputFile.etl>
停止由给定会话名称标识的跟踪,并将原始的未处理数据写入指定的输出文件中。 生成的文件不用于在 WPA 中查看。

/stop 命令中涉及的后处理步骤有时会很长。 可以使用 /stopnoanalyze 命令延迟此后处理步骤。 准备好在 Windows 性能分析器或 Microsoft Edge 跟踪查看器中生成可查看的文件时,请使用/analyze命令。

杂项命令

选项 参数和描述
/analyze (1) [/templates] <rawInputFile.etl> <outputFile.etl>
(2) [/templates] <rawInputFile.etl> /timetrace <outputFile.json>
接受 /stopnoanalyze 命令生成的原始跟踪文件。 对此跟踪运行后处理步骤,以生成由<outputFile>参数指定的文件。

/templates选项包括文件中的模板实例化事件。

(1) 在 Windows 性能分析器 (WPA) 中生成可查看的文件。 输出文件需要.etl扩展名。

(2) 在 Microsoft Edge 跟踪查看器 (edge://tracing) 中生成可查看的文件。 输出文件需要.json扩展名。

另请参阅

C++ Build Insights 入门
教程:Windows 性能分析器基础知识
参考:Windows 性能分析器视图
Windows Performance Analyzer