使用 Microsoft Visual Studio 调试脚本工具

要在 Microsoft Visual Studio 中调试脚本工具,必须安装 Visual Studio Python 开发工作负载。

有关详细信息,请参阅 Microsoft Learn 站点上的修改 Visual Studio 工作负载、组件和语言包

ArcGIS Pro 中调试 Python 代码

要在 ArcGIS Pro 中开始调试 Python 代码,请完成以下步骤:

  1. ArcGIS Pro 中,在地理处理窗格中打开要调试的工具。
  2. 启动 Microsoft Visual Studio 并打开要调试的脚本。

    对于脚本工具(.atbx 文件),可能需要一些额外的设置来调试执行代码。

  3. Microsoft Visual Studio 主菜单上单击调试 > 连接到进程
  4. 连接到进程对话框中,单击选择按钮。
  5. 选择代码类型对话框中,相继选中调试这些代码类型Python,然后单击确定

    您必须选择附加到:Python 代码。 请勿使用默认代码类型自动:托管(v4.6、v4.5、v4.0)代码、Python 代码

  6. 在可用进程列表中,单击 ArcGISPro.exe 进程,然后单击附加按钮。
  7. 根据需要放置断点。
  8. 运行 ArcGIS Pro 中的工具开始调试。

ArcGIS Pro 分离集成开发环境 (IDE) 后,Python 代码中的异常将无法正确显示。 要解决此问题,请重新启动 ArcGIS Pro

有关在 Visual Studio 中调试 Python 代码的详细信息,请参阅 Microsoft Learn 站点中的在 Visual Studio 中调试 Python 代码

注:

Microsoft Visual Studio 2019 及更高版本使用基于 debugpyPython 调试程序,该调试程序在 ArcGIS Pro 本地受支持,无需任何额外的设置。

调试脚本工具执行代码

当嵌入脚本工具的执行代码时,必须先从工具箱导出脚本,然后才能进行调试。

要调试脚本工具的执行代码,请完成以下步骤:

  1. 打开脚本工具属性对话框,然后单击执行选项卡。
  2. 如果已嵌入执行脚本,请单击将脚本导出至文件按钮。
  3. 继续处理导出的 .py 文件。

调试脚本工具验证代码

当脚本工具验证中的 Python 代码嵌入到工具中时,必须首先将代码复制到外部 Python 文件 (.py) 以对其进行调试。 然后可以打开 IDE 中的 Python 文件并设置断点,将 IDE 附加到 ArcGIS Pro,之后运行脚本工具。 完成代码修改后,将 Python 文件内容复制回工具验证。

要调试脚本工具验证代码,请完成以下步骤:

  1. 打开脚本工具属性对话框,然后单击验证选项卡。
  2. 将代码复制到 .py 文件中(在本例中为 validate_code.py)。
  3. 验证选项卡上的代码替换为以下示例代码:
  4. 在以下示例中,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
  5. 继续使用 validate_code.py 文件进行调试。
  6. 完成调试后,将工具属性对话框验证选项卡上的代码编辑器的内容替换为 .py 文件的内容(示例代码中的 validate_code.py)。

当用户与工具进行交互时,会反复执行脚本工具验证中的验证代码。

相关主题