使用程式碼剖析資料檔案儲存符號資訊
如果您要使用 Visual Studio 整合式開發環境 (IDE) 來分析檔案,而且打算將 VSP 檔案移到另一部電腦,則必須設定效能專案設定,以便將符號儲存或「序列化」(Serialize) 到報告檔中。 這會增加報告檔的大小。 需要將符號序列化的原因有二:
趁目標組件 (Assembly) 還在暫時儲存區內,將程式碼符號內嵌到效能報告中。
保留符號,使效能報告可以從原本用來進行剖析的電腦移到其他電腦上開啟分析,即使其他電腦上的符號並不完全相同,此效能報告也會輸出相同的資訊。
您可以從 Visual Studio IDE 或是從命令列,將符號序列化:
若要在 Visual Studio IDE 中進行符號的序列化,請指向功能表列上的 [工具],然後按一下 [選項]。 接著在 [選項] 視窗中選取 [效能工具],然後再選取 [自動序列化符號資訊] 核取方塊。
PACKSYMBOLS 是儲存報告檔時的對等命令列選項。 若要將符號序列化,請輸入 vsperfreport /summary:all /packsymbols filename.vsp。
符號問題疑難排解
如果您在自己的程式碼中沒有看到任何符號,可以使用幾種常見的解決方法:
在命令列中執行 vsperfreport /debugsympath,列出分析工具元件載入符號資訊的所有位置,以及所使用的符號檔是否就是您的專案所使用的檔案。
確定您已使用 /PACKSYMBOLS 旗標執行 vsperfreport,或是已經在 Visual Studio IDE 中,選取一般效能總管選項中的序列化符號資訊選項。
如果您已收集型別資料,請將 /SUMMARY:TYPE 加入至 vsperfreport 命令列。
如果沒有看到 Windows 或其他 Microsoft 程式中的符號:
確定您已設定 Windows 符號快取區 (Cache) 的路徑。 請執行下列其中一個動作來設定符號快取區路徑:
將 Visual Studio IDE 中的 [偵錯工具] -> [符號] 選項設定為正確的路徑。
在 VSPerfReport 命令列中加入 -symbolpath 選項以加入您的符號。
如果您沒有看到任何 ASP.NET 的符號,請確定您已正確設定 ASP 伺服器的符號伺服器。
重新封裝符號
如果您要將符號重新封裝至報告中,可以使用命令列工具 VsPerfReport 來完成這項工作。 請使用下列命令列:
VsPerfReport -clearpackedsymbols filename.vsp
VsPerfReport -packsymbols -summary:all filename.vsp