VSPerfReport
更新:2007 年 11 月
VSPerfReport 命令列工具是用來使用 Visual Studio Team System Developer 版程式碼剖析工具程式碼剖析資料檔建立報告。預設的報告格式為 .csv 檔案。
VSPerfReport 使用下列語法:
VSPerfReport [/U] vspfilename [/options]
請注意,filename 必須是有效的 .vsp 或 .vsps 檔。
VSPerfReport 命令列工具也可用來比較 .vsp 或 .vsps 檔。若要產生差異 (「差異比對」) 報告,請使用下列語法:
VSPerfReport [/U] /diff vspfilename1 vspfilename2 [/options]
vspfilename1 and vspfilename2 必須是有效的 .vsp 或 .vsps 檔。
一般報告選項
下表說明一般的報告格式化選項,以及用來選取所要報告之資料的選項。
選項 |
說明 |
---|---|
U |
報告輸出和重新導向的主控台輸出以 Unicode 格式撰寫。必須是第一個指定的選項。 |
SUMMARY:[types] |
建立一或多種類型的報告。 ALL - 產生所有類型的報告。 CallerCallee - 包含函式之間父代/子系關係的報告。 Function- 包含所呼叫之函式的報告。 Module- 包含經過程式碼剖析之模組的報告。 CallTree - 包含所呼叫之函式階層的報告。 Thread - 包含經過程式碼剖析之執行緒的報告。 Process - 包含經過程式碼剖析之處理序的報告。 Type - 包含已配置之型別的報告。 Header - 包含檔案標頭資訊的報告。 Mark - 包含所有標記的報告。 Counter - 包含所有標記以及計數器值的報告。 Ip - 包含經過程式碼剖析之指令資料的報告。 Life - 包含配置物件 (可在收集配置資料時使用) 之存留期 (Lifetime) 的報告。 Line - 包含原始程式碼行分析資料的報告。 |
XML |
以 XML 格式輸出報告。 |
CALLTRACE |
建立函式進入和離開,以及 ETW 事件和標記的清單。 |
CLEARPACKEDSYMBOLS |
從報告檔移除先前封裝的符號。 |
SYMBOLPATH:path |
符號的位置。 |
DEBUGSYMPATH |
偵錯時要搜尋符號的位置。 |
PACKSYMBOLS |
在分析後將符號封裝至報告檔。 |
OUTPUT:path|filename |
報告檔的位置。 |
SUMMARYFILEe |
分析並將分析過的資訊儲存在 .vsps 摘要檔中。 |
PRINTMARKS |
顯示指定之報告檔中所有標記的名稱和時間戳記。 |
PRINTMARKS |
包含所有標記之名稱和時間戳記的報告。 |
? |
顯示用法資訊。 |
NOLOGO |
報告執行時隱藏版本資訊。 |
篩選選項
下表說明篩選可用資料的選項。
選項 |
說明 |
---|---|
STARTTIME:[value] |
只顯示值 (以毫秒為單位) 之後收集的資料。 |
ENDTIME:[value] |
只顯示值 (以毫秒為單位) 之前收集的資料。 |
MSFILTER:[starttime,duration] |
只顯示自 STARTTIME 起到持續時間長度 (以毫秒為單位) 為止的資料。 |
PROCESS:[pid] |
只顯示來自指定之處理序的資料。 |
THREAD:[threadid] |
只顯示來自指定之執行緒的資料。 |
THREAD:[threadid,processid] |
只顯示來自指定之執行緒 (與指定之處理序有關聯) 的資料。 |
差異報告選項
下表說明比較報告檔案的選項。
選項 |
說明 |
---|---|
DIFF |
比較兩個報告檔 (.vsp 或 .vsps)。使用 diff 選項時會忽略摘要選項。 |
DIFFTHRESHOLD:[value] |
若兩個值的差異低於此臨界值,便會忽略其差異。另外,如果新資料的值低於此臨界值,也不會顯示該項資料。 |
DIFFTABLE:[tablename] |
請使用這份特定資料表來比較檔案。預設為函式資料表。 |
DIFFCOLUMN:[columnname] |
請使用這個特定資料行來比較值。預設為專有樣本百分比資料行。 |
QUERYDIFFTABLES |
列出提供的兩個報告檔的有效資料表和資料行。 |