使用 Microsoft Visual Studio 调试脚本工具
要在 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(内容未显示)包含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继续使用
validate_code.py文件进行调试。完成调试后,将工具属性对话框验证选项卡上的代码编辑器的内容替换为
.py文件的内容(示例代码中的validate_code.py)。
当用户与工具进行交互时,会反复执行脚本工具验证中的验证代码。