在 Visual Studio(C#、C++、Visual Basic、F#)中检测 .NET 应用程序

随着 Visual Studio 2022 版本 17.5 的发布,你可以使用新的动态检测工具。 此工具显示调用函数的确切次数,并且与早期版本的检测工具相比,此工具的速度更快。 此工具支持 .NET Core 检测,而无需使用 PDB。 从 Visual Studio 2022 版本 17.6 预览版 2 开始,该工具还支持 C/C++。

该工具类似于 CPU 使用情况工具,只不过它基于时钟时间而不是 CPU 使用率。 有关了解如何高效地使用检测工具的其他信息,请参阅检测概述使用新的检测工具提高 Visual Studio 的性能

检测应用程序

  1. 选择 Alt+F2(或“调试”>“性能探查器”),以在 Visual Studio 中打开性能探查器。

  2. 选中“检测”复选框。

    显示已选择检测工具的屏幕截图。

    如果在启动探查器之前启用了“在暂停后开始收集”选项,则在诊断会话视图中选择“记录”按钮之前,不会收集数据。

    注意

    如果无法选择该工具,请清除所有其他工具的复选框,因为某些工具需要单独运行。 若要详细了解如何一起运行工具,请参阅同时使用多种探查器工具

    如果该工具仍不可用,请检查项目是否满足前面的要求。 请确保项目处于“发布”模式,以便捕获最准确的数据。

  3. 选择“开始”按钮以运行该工具。

  4. 选择要检测的程序中的项。

    显示“选择要检测的项”对话框的屏幕截图。

  5. 选择“确定”。

  6. 在此工具开始运行后,在应用中完成要探查的方案。 然后,选择“停止收集”或关闭应用,以查看数据。

分析检测报告

分析数据将显示在 Visual Studio 中。

显示 .NET 检测数据的屏幕截图。

“检测数据”视图显示按最长运行时间排序的函数列表,运行时间最长的函数在“排名靠前的函数”下排在最前面。 “热路径”部分显示使用时间最多的函数的调用堆栈。 这些列表有助于将你引导至发生性能瓶颈的函数。

单击感兴趣的函数,你将看到更详细的视图。

可用信息类似于 CPU 使用情况工具,只不过它基于时钟时间和调用计数而不是 CPU 使用率。 这意味着,与 CPU 使用情况工具不同,阻塞的时间(如等待锁定的时间)将显示在检测跟踪中。 有关视图的详细信息,请参阅使用 CPU 分析来分析性能