VSPerfReport 命令行工具用于使用 Visual Studio 分析工具分析数据文件创建报告。默认报告格式为 .csv 文件。
VSPerfReport 使用以下语法:
VSPerfReport [/U] vspfilename [/options]
注意:filename 必须是有效的 .vsp 或 .vsps 文件。
VSPerfReport 命令行工具也用于比较 .vsp 或 .vsps 文件。若要生成差异(“diff”)报告,请使用以下语法:
VSPerfReport [/U] /diff vspfilename1 vspfilename2 [/options]
vspfilename1 and vspfilename2 必须是有效的 .vsp 或 .vsps 文件。
符号文件
若要显示函数名称和行号等符号信息,VSPerfReport 需要访问所分析的组件的符号 (.PDB) 文件以及 Windows 符号文件。有关详细信息,请参阅如何:从命令行指定符号文件位置。
常规报告选项
下表介绍了常规报告格式选项和用于选择要报告的数据的选项。
| 选项 | 说明 | 
|---|---|
| U | 报告输出和重定向控制台的输出写为 Unicode。必须是指定的第一个选项。 | 
| Summary:[types] | 创建一个或多个类型的报告。 
 | 
| Xml | XML 格式的输出报告。 | 
| CallTrace | 创建函数进入和退出、ETW 事件和标记的列表。 | 
| ClearPackedSymbols | 从探查器数据文件中移除以前嵌入的符号。在第二次运行 PackSymbols 之前运行此命令。 | 
| SymbolPath:path | 指定包含探查器数据文件的符号的一个或多个搜索路径或符号服务器。 | 
| DebugSymPath | 列出在其中搜索符号的位置并指明是否找到这些符号。此选项可用于解决符号解析问题。 | 
| PackSymbols | 将符号保存到分析数据 (.vsp) 文件中,以便分析时可以不指定符号 (.pdb) 文件。 | 
| Output:path|filename | 指定生成的报告文件的备用位置。默认情况下,在当前目录中创建报告。 | 
| SummaryFile | 分析并将分析后的信息保存在 .vsps 摘要文件中。 | 
| PrintMarks | 显示指定报告文件中所有标记的名称和时间戳。 | 
| ? | 显示用法信息。 | 
| NoLogo | 报告运行时隐藏版本信息。 | 
| UserRulesDirectory | 指定包含用户定义的性能规则 [尚未实现] 的目录。 | 
筛选器选项
下表介绍用于筛选可用数据的选项。
| 选项 | 说明 | 
|---|---|
| JustMyCode[:[caller][,callee]] | 仅显示用户应用程序函数调用,隐藏系统调用。 
 | 
| StartTime:[value] | 仅显示值(以毫秒为单位)后收集的信息。 | 
| EndTime:[value] | 仅显示值(以毫秒为单位)前收集的信息。 | 
| FilterFile:VSPFFile | 指定从“Visual Studio 性能报告”窗口中生成的筛选器文件的位置。 | 
| MsFilter:[starttime,duration] | 仅显示从 starttime 算起持续 duration(以毫秒为单位)的数据。 | 
| Process:[pid] | 仅显示指定进程的数据。 | 
| Thread:[threadid] | 仅显示指定线程的数据。 | 
| Thread:[threadid,processid] | 仅显示与指定进程关联的指定线程的数据。 | 
差异报告选项
下表介绍了用于比较报告文件的选项。
| 选项 | 说明 | 
|---|---|
| Diff vspfile1 vspfile2 | 比较两个报告文件(.vsp 或 .vsps 文件)。使用 diff 选项时将忽略摘要选项。 | 
| Diff:[value] | 在此阈值下,两个值之间的差异将被忽略。另外,具有此阈值下的值的新数据不会显示。 | 
| DiffTable:[tablename] | 使用此特定表比较文件。 默认设置是函数表。 | 
| DiffColumn:[columnname] | 使用此特定列比较值。 默认设置是独占样本百分比列。 | 
| QueryDiffTables | 为提供的两个报告文件列出有效的表和列。 |