共用方式為


VSPerfReport

VSPerfReport 命令列工具是用 Visual Studio 程式碼剖析工具來剖析資料檔以建立報告的。 預設的報告格式為 .csv 檔案。

VSPerfReport 使用下列語法:

VSPerfReport [/U] vspfilename [/options]

請注意,filename 必須是有效的 .vsp 或 .vsps 檔。

VSPerfReport 命令列工具也可用來比較 .vsp 或 .vsps 檔。 若要產生差異 (「差異比對」) 報告,請使用下列語法:

VSPerfReport [/U] /diff vspfilename1 vspfilename2 [/options]

vspfilename1 and vspfilename2 必須是有效的 .vsp 或 .vsps 檔。

符號檔

若要顯示符號資訊 (例如函式名稱和行號),VSPerfReport 需要存取已進行程式碼剖析之元件的符號 (.PDB) 檔案和 Windows 符號檔。 如需詳細資訊,請參閱 HOW TO:從命令列指定符號檔位置

一般報告選項

下表說明一般的報告格式化選項,以及用來選取所要報告之資料的選項。

選項

描述

U

報告輸出和重新導向的主控台輸出以 Unicode 格式撰寫。 必須是第一個指定的選項。

Summary:[types]

建立一或多種類型的報告。

  • All - 產生所有類型的報告。

  • CallerCallee - 函式之間的父/子關聯性。

  • Function - 呼叫的函式。

  • CallTree - 呼叫之函式的階層架構。

  • Counter - 所有標記以及 Windows 效能計數器值。

  • Ip - 進行程式碼剖析的指令。

  • Life - 配置之物件的存留期 (在已經收集配置資料時可用)。

  • Line 原始程式碼行分析資料。

  • Header - 包含檔案標頭資訊的報告。

  • Mark 所有標記。

  • Module - 進行程式碼剖析的模組。

  • Process - 進行程式碼剖析的處理序。

  • Thread - 進行程式碼剖析的執行緒。

  • Type - 配置的型別。

  • Contention - 資源爭用。

  • RuleWarnings - 效能規則問題。

  • ETW - 程式碼剖析執行中收集的所有 Windows 事件追蹤 (ETW) 事件。 .etl 資料檔案必須位於其原始位置或位於包含 .vsp 或 .vsps 檔案的目錄中。

Xml

以 XML 格式輸出報告。

CallTrace

建立函式進入和離開,以及 ETW 事件和標記的清單。

ClearPackedSymbols

從程式碼分析工具資料檔案移除之前內嵌的符號。 請於第二次執行 PackSymbols 之前執行這個命令。

SymbolPath:path

指定一個或多個包含程式碼分析工具資料檔案之符號的搜尋路徑或符號伺服器。

DebugSymPath

列出進行符號搜尋的位置以及是否找到符號。 這個選項在解決符號解析問題時非常有用。

PackSymbols

將符號儲存至程式碼剖析資料 (.vsp) 檔案,這樣在分析時便不需要符號 (.pdb) 檔案。

Output:path|filename

指定產生之報告檔案的替代位置。 根據預設,報告建是建立在目前的目錄中。

SummaryFile

分析並將分析過的資訊儲存在 .vsps 摘要檔中。

PrintMarks

顯示指定之報告檔中所有標記的名稱和時間戳記。

?

顯示用法資訊。

NoLogo

報告執行時隱藏版本資訊。

UserRulesDirectory

指定包含使用者定義效能規則的目錄 [尚未實作]。

篩選選項

下表說明篩選可用資料的選項。

選項

描述

JustMyCode[:[caller][,callee]]

僅顯示使用者應用程式函式呼叫 (Function Call),並隱藏系統呼叫。

  • 沒有指定參數 - 隱藏全部系統函式。

  • 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

列出提供的兩個報告檔的有效資料表和資料行。

請參閱

其他資源

程式碼剖析工具報表檢視