Отладка инструментов-скриптов с помощью Microsoft Visual Studio

Для отладки инструментов-скриптов в Microsoft Visual Studio должна быть установлена рабочая нагрузка Python разработки Visual Studio.

Дополнительную информацию см. в разделе Изменение рабочих нагрузок, компонентов и языковых пакетов Visual Studio на сайте Learn Microsoft.

Отладка кода Python в ArcGIS Pro

Чтобы приступить к отладке кода Python в ArcGIS Pro, выполните следующие действия:

  1. В ArcGIS Pro откройте инструмент для отладки на панели Геообработка.
  2. Запустите Microsoft Visual Studio и откройте скрипт, который надо отладить.

    Для инструментов-скриптов (файл .atbx) может потребоваться дополнительная настройка для отладки кода выполнения.

  3. Щелкните в главном меню Microsoft Visual StudioОтладка > Присоединение к процессу.
  4. В диалоговом окне Присоединение к процессу dialog щелкните кнопку Выбрать.
  5. В диалоговом окне Выбрать тип кода поставьте отметку Отладка этих типов кода, отметьте Python и нажмите OK.

    Вам нужно выбрать Присоединение к: код Python. Не используйте тип кода по умолчанию Автоматически: код Managed (v4.6, v4.5, v4.0), код Python.

  6. В списке доступных процессов выберите процесс ArcGISPro.exe и нажмите кнопку Присоединить.
  7. При необходимости расставьте точки останова.
  8. Запустите инструмент ArcGIS Pro, чтобы начать отладку.

После отключения интегрированной среды разработки (IDE) от ArcGIS Pro, исключения в коде Python будут отображаться некорректно. Чтобы избежать этого, необходимо перезапустить ArcGIS Pro.

Дополнительные сведения об отладке кода Python в Visual Studio смотрите в разделе Отладка кода Python в Visual Studio на сайте Learn Microsoft.

Примечание:

Начиная с Microsoft Visual Studio 2019 и более поздних версий используется отладчик Python, основанный на debugpy, который нативно поддерживается ArcGIS Pro без какой-либо дополнительной настройки.

Отладка кода выполнения инструмента-скрипта

Если код выполнения инструмента-скрипта встроен, необходимо экспортировать скрипт из панели инструментов, прежде чем можно будет его отладить.

Чтобы отладить код выполнения инструмента-скрипта, выполните следующие действия:

  1. Откройте диалоговое окно свойств инструмента-скрипта и перейдите на вкладку Выполнение.
  2. Если скрипт выполнения встроен, щелкнете кнопку Экспортировать скрипт в файл.
  3. Продолжите работу с экспортированным файлом .py.

Код проверки отладки инструмента-скрипта

Если код Python проверки инструмента-скрипта встроен в инструмент, необходимо сначала скопировать код во внешний файл Python (.py), чтобы выполнить его отладку. Затем вы можете открыть файл Python в IDE и установить точки останова, присоединить 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 в примере кода).

При работе пользователя с инструментом код проверки инструмента-скрипта выполняется неоднократно.

Связанные разделы