分析 Visual Studio 中的 Python 代码

调试代码时,Visual Studio 为 Python 应用程序提供分析功能。 Visual Studio Debugger 允许你单步调试代码,以检查变量、分析程序状态、解决潜在问题等。 Visual Studio 分析功能提供有关程序执行时间的信息。 可以使用此信息来帮助识别代码中的性能问题。

使用基于 CPython 的解释器时,分析功能适用于 Python 3.9 及更早版本。

先决条件

目前不支持 Visual Studio for Mac。 有关详细信息,请参阅 Visual Studio for Mac 发生了什么情况?Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展与 Python 配合工作

将探查器与基于 CPython 的解释器配合使用

分析 Python 应用程序时,Visual Studio 将收集进程生存期的数据。

按照以下步骤开始在 Visual Studio 中使用分析功能:

  1. 在 Visual Studio 中,打开 Python 代码文件。

  2. 确认 Python 代码的当前运行环境是基于 CPython 的解释器。 可以在“Python 环境”窗口中检查所选解释器。

  3. 在主工具栏上,选择“调试”>“启动 Python 分析”。 Visual Studio 将打开“分析设置”对话框:

    Visual Studio 中“分析设置”配置对话框的屏幕截图。

  4. 在“分析设置”对话框中,选择要分析的代码文件或项目代码:

    • 要分析所有项目代码,请执行以下操作:

      1. 选择打开项目

      2. 从下拉列表中选择位置。 该列表显示当前 Visual Studio 解决方案中的所有项目。

    • 要分析特定文件,请执行以下操作:

      1. 选择“独立脚本”

      2. 从下拉列表中选择“Python 解释器”或浏览到相应的位置。 要指定未列出的解释器,请在下拉列表中选择“其他”,然后指定“解释器路径”

      3. 找到“脚本”文件或浏览到相应的位置。

      4. 指定“工作目录”或浏览到相应的位置。

      5. 指定脚本的“命令行参数”

  5. 选择开始

在 Visual Studio 中运行探查器并打开性能报告。 可以查看报告,了解应用程序中所花费的时间:

Visual Studio 2022 中分析性能报告的屏幕截图。

Visual Studio 中分析性能报告的屏幕截图。

将探查器与 IronPython 配合使用

IronPython 是 Python 的 .NET 实现,可在 32 位和 64 位版本中使用。 IronPython 不是基于 CPython 的解释器。 Visual Studio 支持对 IronPython 进行标准 Python 调试,但不支持分析功能。

对于 IronPython 项目,可以使用 Visual Studio .NET 探查器。 使用适当的参数直接运行作为目标应用程序的 ipy.exe 命令,以启动启动脚本。 在命令行中包含 -X:Debug 参数,以确保可对所有 Python 代码进行调试和分析。 此参数会生成一个性能报告,其中包括在 IronPython 运行时和代码中所用的时间。 代码使用重整名称进行标识。

IronPython 提供一些内置分析功能,但目前没有可供使用的可视化工具。 有关详细信息,请参阅 IronPython 探查器(博客)以及 IronPython 文档中的调试和分析