本文說明 Visual Studio 中的檢測工具,用於收集確切的呼叫計數和呼叫時間。
有兩種類型的儀器:
靜態,它會在執行程式之前修改程序的檔案 (VSInstr)
動態,它會使用動態進程,其中不會變更檔案。 它會將檔案載入記憶體,然後加以修改以收集檢測資訊。 使用動態檢測工具時,您會取得更精確的資訊,但僅限於程式的一小部分。 您可以調查程式代碼的小節。
動態檢測很有幫助,因為:
靜態檢測會中斷強名稱簽署。 使用動態檢測時,會避免此問題,因為檢測會在運行時間發生。
使用靜態檢測時,檔案必須依特定順序部署,且工具可能不知道檔案的位置。 您必須手動執行 VSInstr。 使用新的檢測工具,您不需要去尋找檔案。 在一個複雜的程序中,尋找所有檔案可能是一個困難且需要手動操作的過程。
儀器與取樣
在分析方面,有兩種收集數據的機制。 透過儀器檢測或取樣進行收集。 如需詳細資訊,請參閱 瞭解效能集合方法。
動態檢測工具
Instrumentation - 從 Visual Studio 2022 17.5 版開始,檢測工具會提供 .NET Core、.NET 5+ 和 .NET Framework 的動態檢測。 此工具為檢測案例提供最佳效能。 使用效能分析工具存取此工具(Alt + F2)。 如需詳細資訊,請參閱下列文章:
從 Visual Studio 2022 17.6 版開始,檢測工具也支援 C/C++,但使用靜態檢測 (VSInstr)。
若要從命令行使用此工具,請參閱下列文章:
靜態檢測工具
VSInstr - 從 Visual Studio 2022 17.6 版開始,檢測工具 使用 VSInstr 進行 C/C++支援。 VSInstr 也用於命令行案例,適用於 .NET Framework 和 C/C++ 應用程式。 如需詳細資訊,請參閱下列文章:
- 使用分析工具命令行收集獨立應用程式的詳細計時數據。
相關內容
- 案例研究:定位效能問題
- 使用新的工具「儀器化工具」改善 Visual Studio 效能。
- 第一次查看分析工具