Visual Studio 內建診斷工具
- 效能分析器:取樣/檢測模式,CPU 使用率、函式呼叫樹、熱門路徑、記憶體配置、GC 壓力。
- 診斷工具視窗:偵錯時即時顯示 CPU/記憶體/事件時間軸,支援 IntelliTrace 歷史偵錯。
- JavaScript/HTML UI 回應分析:針對 Web 應用前端效能。
- 能耗分析:行動裝置/筆電電源消耗剖析。
優點:免費、整合度高、無需額外安裝。缺點:深度分析功能(如記憶體洩漏追蹤、GPU 分析)較弱。
第三方專業工具對照
| 工具 | 核心優勢 | 授權模式 | 適用場景 |
| JetBrains dotTrace | 時間軸分析、SQL 查詢剖析、記憶體快照比較、支援 .NET Core/.NET 5+、遠端分析 | 商業(含 ReSharper Ultimate 套裝) | 深度 CPU/記憶體優化、生產環境無侵入式分析 |
| RedGate ANTS Performance Profiler | HTTP 請求/資料庫/檔案 IO 時間軸、原始碼行級熱點、支援 SharePoint/WCF/Silverlight | 商業(含免費 VS 延伸模組) | Web 應用全鏈路效能、資料庫查詢慢速定位 |
| Telerik JustTrace | 取樣/追蹤雙模式、記憶體實例快照、Visual Studio 整合、DevCraft 套裝 | 商業(30 天試用) | .NET Framework 老專案維護、記憶體洩漏追蹤 |
| AMD CodeXL | GPU/CPU/OpenCL 核心分析、異質運算優化、Linux/Windows 跨平台 | 免費 | 高效能運算、遊戲/科學計算/機器學習推論 |
特定領域輕量工具
- Clr Heap Allocation Analyzer (Roslyn Analyzer):編譯時期偵測装箱、閉包捕獲、陣列配置等隱性配置。
- Visual Leak Detector (VLD):C++ 記憶體洩漏偵測,適用混合模式專案。
- ORM Profiler (Frans Bouma):Entity Framework / NHibernate SQL 即時剖析,直接跳轉原始碼。
- Image Optimizer (Mads Kristensen):方案總管右鍵批次無損壓縮 PNG/GIF/JPEG,減少靜態資源體積。
- Xamarin Profiler:跨平台行動應用 CPU/記憶體分析。
選型建議
- 日常開發:VS 內建工具足夠 80% 場景。
- 疑難雜症(記憶體洩漏、GC 風暴、SQL N+1):dotTrace 或 ANTS。
- GPU/異質運算:CodeXL。
- CI/CD 整合:dotTrace 命令列 / VS 分析器資料匯出 XML 自動化閾值檢查。
工具只是放大鏡,關鍵在於建立效能基線、設定可測量目標、持續迭代優化。