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] |
建立一或多種類型的報告。
|
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),並隱藏系統呼叫。
|
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 |
列出提供的兩個報告檔的有效資料表和資料行。 |