在發行或偵錯組建上執行分析工具(C#、Visual Basic、C++、F#)
Visual Studio 提供效能測量和分析工具的選擇。 某些工具,例如 CPU 使用量和記憶體使用量,可以在發行組建上執行,或在偵錯應用程式時執行 (偵錯組建)。 偵錯會話期間,只有在 [診斷工具] 視窗中出現的工具 才會執行。 出現在 效能分析器中的工具 在沒有除錯器的情況下執行,通常是在發行版本上執行,而您在選擇停止和收集數據之後分析結果(用於後期分析)。
效能分析工具和調試程式整合的診斷工具提供不同的資訊和體驗。 使用診斷工具時,調試程式會顯示變數值,並可讓您使用斷點。
效能分析工具中的發行組建效能數據是最精確且最準確的。 這些工具能讓您獲得更貼近最終用戶體驗的結果。 一般而言,這是使用分析工具的慣用方法。 不過,在某些情況下,使用偵錯版本中的偵錯工具可能有助於縮小效能問題的範圍,特別是當您想要使用偵錯功能時,例如設置斷點和逐步執行程式碼。
若要協助您決定在發行或偵錯組建中使用分析工具,請考慮下列事項:
- 發行版本提供優化功能,例如內聯函數調用和常數、移除未使用的代碼路徑,以及以調試器無法訪問的方式儲存變數。 偵錯組建中的效能數位較不精確,因為偵錯組建缺少這些優化。
- 除了發行組建和偵錯組建之間的差異之外,調試程式本身也會變更效能時間,因為其會執行攔截例外狀況和模組載入事件等必要調試程序作業。
- 針對 CPU 密集呼叫所造成的效能問題,發行和偵錯組建之間可能會有相當大的效能差異。 請檢查版本組建中是否有 CPU 效能問題。
- 外部效能問題,例如檔案 I/O 或網路回應性問題,在發行組建或偵錯組建中看起來並無太大差異。
- 如果問題只發生在偵錯版本,您可能不需要使用發行版本來執行工具。
- 某些工具,例如 .NET 物件配置工具,僅適用於效能分析工具(非調試程式案例)。
收集發行版本的效能分析數據
若要收集發行組建的效能數據,請執行效能分析工具工具。
在 Visual Studio 中開啟專案時,將方案組態設定為 [Release],然後選取 [本機 Windows 調試程式] [或 本機電腦] 作為部署目標。
選取 [偵錯>效能分析工具],或按 Alt+F2。
在 [診斷工具啟動] 頁面上,選取一或多個要執行的工具。 只會顯示適用於項目類型、作業系統和程式設計語言的工具。 選取 顯示所有工具 以查看此診斷會話已停用的工具。
若要開始診斷工作階段,請選擇 開始。
工作階段正在執行時,某些工具會在診斷工具頁面上顯示即時數據的圖表,而且可能會顯示暫停和繼續數據收集的選項。
若要結束診斷工作階段,請選取 [停止收集]。
分析的數據會出現在 報表 頁面上。
如需有關可用於發佈構建的工具,以及如何分析報告的更多資訊,請參考:
- 使用 CPU 分析工具來分析效能
- 分析記憶體使用量
- 分析 .NET 程式代碼的記憶體使用量
- 分析儀器資料
- 分析 .NET 計數器
- 分析 .NET 異步程式代碼的效能
- 分析資料庫效能
- 檢視事件
- 分析 GPU 使用量
注意
使用重新執行可略過啟動頁面,並以您先前的設定自動運行,方式是使用 Alt+F2,或點擊 [偵錯],然後選擇 > [效能分析工具]。
(選擇性)儲存報表,稍後您可以從 [診斷工具] 啟動頁面上的 [最近開啟的會話] 清單中開啟報表。
在偵錯時收集效能剖析資料
當您在 Visual Studio 中選取 [偵錯]>[開始偵錯]來開始偵錯時,或按 F5,預設會顯示 [診斷工具] 視窗。 若要手動開啟它,請選擇 [偵錯]>Windows>[顯示診斷工具]。 [診斷工具] 視窗會顯示事件、進程記憶體、CPU 使用量和 .NET 計數器的相關信息。
- 使用工具列中的 設定 圖示來選取是否要檢視 CPU 使用量、記憶體使用量,或 .NET 計數器。
當您在 Visual Studio 中選取 [偵錯]>[開始偵錯]來開始偵錯時,或按 F5,預設會顯示 [診斷工具] 視窗。 若要手動開啟它,請選擇 [偵錯]>Windows>[顯示診斷工具]。 [診斷工具] 視窗會顯示事件、進程記憶體和 CPU 使用量的相關信息。
- 使用工具列中的 設定 圖示來選取是否要檢視 CPU 使用量、記憶體使用量,或 UI 分析。
在 [設定] 下拉式清單中選取 [設定],以開啟 [診斷工具屬性頁],並提供更多選項。
如果您正在使用 Visual Studio Enterprise,您可以前往 Tools>Options>IntelliTrace,來啟用或停用 IntelliTrace。
當您停止偵錯時,診斷會話就會結束。
如需偵錯時可用工具的詳細資訊,請參閱:
- 藉由分析 CPU 使用量 來測量應用程式效能
- 在Visual Studio中測量記憶體使用量
- 分析 .NET 計數器
事件標籤
在偵錯會話期間,[診斷工具] 視窗的 [事件] 索引卷標會列出發生的診斷事件。 類別前置詞 斷點、檔案等,可以讓您快速掃描清單中的特定類別,或略過您不在意的類別。
使用 [篩選] 下拉式清單,透過選取或清除特定事件類別,來顯示或隱藏事件。
使用搜尋方塊在事件清單中尋找特定字串。 以下是搜尋符合三個事件的檔名 模型 結果:
使用搜尋方塊在事件清單中尋找特定字串。 以下是搜尋符合四個事件之字串 名稱 的結果:
的螢幕快照
如需詳細資訊,請參閱 搜尋和篩選 [診斷工具] 視窗的 [事件] 索引標籤,。
從命令列收集性能分析數據
若要從命令行測量效能數據,您可以使用 visual Studio 或 Remote Tools 隨附的 VSDiagnostics.exe。 這適用於在未安裝 Visual Studio 的系統上擷取效能追蹤,或編寫效能追蹤集合的腳本。 如需詳細指示,請參閱從命令行