使用或不使用偵錯工具 (C#、Visual Basic、C++、F#) 來執行分析工具
Visual Studio 提供各種效能測量和分析工具的選擇。 其中有些工具 (例如 [CPU 使用量] 和 [記憶體使用量]) 可以使用或不使用偵錯工具來執行,也可以在 [發行] 或 [偵錯] 組建組態上執行。 [診斷工具] 視窗中出現的工具只會在偵錯工作階段期間執行。 [效能分析工具] 中顯示的工具會在沒有偵錯工具的情況下執行,並在您選擇停止並收集資料 (用於事後剖析分析) 之後分析結果。
注意
您可以在 Windows 7 和更新版本中使用非偵錯工具的效能工具。 若要執行偵錯工具整合的分析工具,需要 Windows 8 或更新版本。
非偵錯工具的 [效能分析工具] 和偵錯工具整合的 [診斷工具] 提供不同資訊與體驗。 偵錯工具整合的工具會顯示值,並可讓您使用中斷點。 非偵錯工具之工具可為您提供更接近終端使用者體驗的結果。
若要決定要使用哪些工具和結果,請考慮下列選項:
偵錯工具整合工具與非偵錯工具
- 外部效能問題 (例如檔案 I/O 或網路回應性問題) 在偵錯工具或非偵錯工具的工具中看起來沒有太大差異。
- 偵錯工具本身在執行必要的偵錯工具作業 (例如攔截例外狀況和模組載入事件) 時會變更效能時間。
- [效能分析工具] 中的 [發行] 組建效能數字最精確且準確。 偵錯工具整合的工具結果最適合與其他偵錯相關的度量進行比較,或使用偵錯工具功能。
- 某些工具 (例如 .NET 物件偵錯工具) 僅適用於非偵錯工具案例。
偵錯與發行組建
- 對於 CPU 密集運算呼叫所造成的問題,在 [發行] 與[偵錯] 組建之間可能會有相當大的效能差異。 請檢查 [發行] 組建中是否存在問題。
- 如果只在 [偵錯] 組建期間發生此問題,您可能不需要執行非偵錯工具的工具。 針對發行組建問題,決定偵錯工具整合的工具所提供的功能是否有助於找出問題。
- [發行] 組建提供最佳化功能,例如內嵌函式呼叫和常數、清除未用的程式碼路徑,以及無法採用偵錯工具所使用的方式來儲存變數。 由於 [偵錯] 組建缺少這些最佳化功能,因此偵錯組建中效能數字較不準確。
收集程式碼剖析資料但不偵錯
若要收集效能資料而不進行偵錯,您可以執行 [效能分析工具]。
在 Visual Studio 中開啟專案時,將方案組態設定為 [發行] 並選取 [本機 Windows 偵錯工具] (或本機電腦) 做為部署目標。
選取 [偵錯]>[效能分析工具],或按 Alt+F2。
在診斷工具啟動頁面上,選取要執行的一或多項工具。 只有適用於該專案類型、作業系統與程式設計語言的工具才會顯示。 選取 [顯示所有工具] 來另外查看針對這個診斷工作階段停用的工具。
若要開始診斷工作階段,請選取 [開始]。
當工作階段正在執行時,某些工具會在 [診斷工具] 頁面上顯示即時資料的圖表,而且可能會顯示暫停和繼續資料收集的選項。
若要結束診斷工作階段,請選取 [停止收集]。
分析的資料會出現在 [報告] 頁面上。
您可以儲存報告,並從診斷工具啟動頁面的 [最近開啟的工作階段] 清單中開啟這些報表。
如需詳細資訊,請參閱
偵錯時收集程式碼剖析資料
當您在 Visual Studio 中選取 [偵錯]>[開始偵錯] 或按下 F5 來啟動偵錯時,預設會出現 [診斷工具] 視窗。 若要手動加以開啟,請選取 [偵錯]>[視窗]>[顯示診斷工具]。 [診斷工具] 視窗會顯示事件、處理序記憶體、CPU 使用量和 .NET 計數器的相關資訊。
當您在 Visual Studio 中選取 [偵錯]>[開始偵錯] 或按下 F5 來啟動偵錯時,預設會出現 [診斷工具] 視窗。 若要手動加以開啟,請選取 [偵錯]>[視窗]>[顯示診斷工具]。 [診斷工具] 視窗會顯示事件、處理序記憶體和 CPU 使用量的相關資訊。
使用工具列上的設定圖示來選擇是否要檢視 [記憶體使用量]、[UI 分析],以及 [CPU 使用量]。
選取 [設定] 下拉式清單中的 [設定],以開啟具有更多選項的 [診斷工具屬性頁]。
若正在執行 Visual Studio Enterprise,您可以移至 [工具]>[選項]>[IntelliTrace] 以啟用或停用 IntelliTrace。
在您停止偵錯時,診斷工作階段就會結束。
注意
使用重新開機以略過啟動頁面,並使用 Alt+F2 或按一下 [偵錯][效能分析工具] 來自動執行先前的設定。
如需詳細資訊,請參閱
[事件] 索引標籤
在偵錯工作階段期間,[診斷工具] 視窗的 [事件] 索引標籤會列出所發生診斷事件。 類別前置詞 (中斷點、檔案和其他項目) 可讓您快速掃描清單中的類別,或略過不在意的類別。
請使用 [篩選] 下拉式清單,選取或清除事件的特定類別來篩選傳入和傳出檢視事件。
請使用搜尋方塊來尋找事件清單中的特定字串。 以下是搜尋檔案名稱 model 的結果,其符合三個事件:
請使用搜尋方塊來尋找事件清單中的特定字串。 以下是搜尋字串 name 的結果,其符合四個事件:
如需詳細資訊,請參閱 搜尋和篩選診斷工具視窗的事件索引標籤。
從命令列收集分析資料
若要從命令列測量效能資料,您可以使用 Visual Studio 或 Remote Tools 隨附的 VSDiagnostics.exe。 這適用於在未安裝 Visual Studio 的系統上擷取效能追蹤,或編寫效能追蹤集合的指令碼。 如需詳細指示,請參閱從命令列測量應用程式效能。