Skip To Content

Отладка расширения

В этом разделе
Примечание:

Перехватчики серверных объектов (SOI) относятся к новым возможностям версии 10.3.1. Информация, содержащаяся в этой теме и посвященная SOI, относится только к версии 10.3.1.

Отладка расширения (SOE или SOI) может создать определенные проблемы, потому что вам придется войти в запущенный процесс сервиса. ArcGIS Server Manager предлагает несколько параметров, которые могут помочь в отладке расширения Java. Эти параметры подробно описаны ниже. Отладку расширений .NET можно проводить только с помощью отладчика Visual Studio, в Manager нет инструментов отладки для расширений .NET. В справке ArcObjects .NET SDK содержатся инструкции по отладке расширений .NET.

Рабочий процесс отладки

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

  1. Используйте ArcGIS Server Manager для развертывания расширения.
  2. Используйте Менеджер, чтобы включить отладку расширения и настроить параметры отладки. Они подробно описаны ниже.
  3. Установите точки останова в нужных местах кода расширения.
  4. Остановите и затем повторно запустите сервис.
  5. Сразу прикрепите отладчик к процессу операционной системы, запустившему сервис. Если точка останова находится в коде инициализации расширения, она будет достигнута после запуска сервиса. В противном случае точка останова будет достигнута, когда вы используете расширение.
  6. Используйте Менеджер для отключения отладки.

Настройка параметров отладки в приложении Manager

Для облегчения отладки ArcGIS Server Manager позволяет изменять поведение расширения. Вы можете приостановить запуск сервиса, чтобы прикрепить отладчик к процессу сервиса до того, как будут вызваны методы инициализации расширения. Также можно указать диапазон портов, которые будут использоваться при отладке сервиса.

Для доступа к этим параметрам отладки в Менеджере выполните следующие действия:

  1. Выполните вход в ArcGIS Server Manager и щелкните Сайт (Site).
  2. Щелкните ГИС-сервер > Расширения.
  3. Щелкните Настройки отладки и включите Включить отладку расширений. Это активирует другие опции в диалоговом окне.
  4. При необходимости поставьте отметку Приостановить запуск сервиса (Suspend service startup) и введите количество секунд, на которое запуск сервиса должен быть отложен.

    Код некоторых расширений работает только один раз, при запуске сервиса. Этот код, как правило, помещают в метод Construct интерфейса IObjectConstruct. Приостановка запуска сервиса дает вам время, чтобы прикрепить отладчик к процессу сервиса до запуска метода Construct, что позволяет вам достичь любых точек останова, установленных вами в коде метода.

  5. Также можно указать диапазон портов, который будет использоваться при отладке.
  6. Нажмите кнопку Сохранить.

Теперь вы можете отладить ваш дополнительный модуль посредством остановки и повторного запуска сервиса и прикрепления вашего отладчика к процессу операционной системы, запустившему ваш сервис. Если вы установили временное окно для приостановки запуска сервиса, вам нужно прикрепить отладчик к процессу сервиса, прежде чем это окно будет достигнуто. В противном случае вы не достигнете точек останова в методе Construct расширения.

В процессе отладки вы можете останавливать и запускать сервис столько раз, сколько необходимо.

Внимание:

После завершения отладки расширения вернитесь в параметры отладки и снимите отметку Включить отладку дополнительных модулей (Enable debugging of extensions). Если этого не сделать, а в параметрах включена приостановка запуска сервиса, задержка будет происходить при каждой попытке запуска сервиса.