要在 Microsoft Visual Studio 中调试脚本工具,必须安装 Visual Studio Python 开发工作负载。
有关详细信息,请参阅 Microsoft Learn 站点上的修改 Visual Studio 工作负载、组件和语言包。
在 ArcGIS Pro 中调试 Python 代码
要在 ArcGIS Pro 中开始调试 Python 代码,请完成以下步骤:
- 在 ArcGIS Pro 中,在地理处理窗格中打开要调试的工具。
- 启动 Microsoft Visual Studio 并打开要调试的脚本。
对于脚本工具(.atbx 文件),可能需要一些额外的设置来调试执行代码。
- 在 Microsoft Visual Studio 主菜单上单击调试 > 连接到进程。
- 在连接到进程对话框中,单击选择按钮。
- 在选择代码类型对话框中,相继选中调试这些代码类型和 Python,然后单击确定。
您必须选择附加到:Python 代码。 请勿使用默认代码类型自动:托管(v4.6、v4.5、v4.0)代码、Python 代码。
- 在可用进程列表中,单击 ArcGISPro.exe 进程,然后单击附加按钮。
- 根据需要放置断点。
- 运行 ArcGIS Pro 中的工具开始调试。
从 ArcGIS Pro 分离集成开发环境 (IDE) 后,Python 代码中的异常将无法正确显示。 要解决此问题,请重新启动 ArcGIS Pro。
有关在 Visual Studio 中调试 Python 代码的详细信息,请参阅 Microsoft Learn 站点中的在 Visual Studio 中调试 Python 代码。
注:
Microsoft Visual Studio 2019 及更高版本使用基于 debugpy 的 Python 调试程序,该调试程序在 ArcGIS Pro 本地受支持,无需任何额外的设置。
调试脚本工具执行代码
当嵌入脚本工具的执行代码时,必须先从工具箱导出脚本,然后才能进行调试。
要调试脚本工具的执行代码,请完成以下步骤:
- 打开脚本工具属性对话框,然后单击执行选项卡。
- 如果已嵌入执行脚本,请单击将脚本导出至文件按钮。
- 继续处理导出的 .py 文件。
调试脚本工具验证代码
当脚本工具验证中的 Python 代码嵌入到工具中时,必须首先将代码复制到外部 Python 文件 (.py) 以对其进行调试。 然后可以打开 IDE 中的 Python 文件并设置断点,将 IDE 附加到 ArcGIS Pro,之后运行脚本工具。 完成代码修改后,将 Python 文件内容复制回工具验证。
要调试脚本工具验证代码,请完成以下步骤:
- 打开脚本工具属性对话框,然后单击验证选项卡。
- 将代码复制到 .py 文件中(在本例中为 validate_code.py)。
- 将验证选项卡上的代码替换为以下示例代码:
- 继续使用 validate_code.py 文件进行调试。
- 完成调试后,将工具属性对话框验证选项卡上的代码编辑器的内容替换为 .py 文件的内容(示例代码中的 validate_code.py)。
在以下示例中,validate_code.py(内容未显示)包含 ToolValidator 类,并以工具箱形式保存到相同的目录中。 将下面的代码段放到工具属性对话框“验证”选项卡的代码编辑器中,以便将调试中继到 validate_code.py。
import os
import sys
sys.path.append(os.getcwd()) # Ensure directory containing module is in Python path
import validation_code
# The following code will reload the val.py module if it's modified
if 'validation_code' in sys.modules:
import importlib
importlib.reload(validation_code)
# ToolValidator should exist at the global scope
ToolValidator = validation_code.ToolValidator当用户与工具进行交互时,会反复执行脚本工具验证中的验证代码。