Отладка расширения
В этом разделе
Примечание:
Перехватчики серверных объектов (SOI) относятся к новым возможностям версии 10.3.1. Информация, содержащаяся в этой теме и посвященная SOI, относится только к версии 10.3.1.
Отладка расширения (SOE или SOI) может создать определенные проблемы, потому что вам придется войти в запущенный процесс сервиса. ArcGIS Server Manager предлагает несколько параметров, которые могут помочь в отладке расширения Java. Эти параметры подробно описаны ниже. Отладку расширений .NET можно проводить только с помощью отладчика Visual Studio, в Manager нет инструментов отладки для расширений .NET. В справке ArcObjects .NET SDK содержатся инструкции по отладке расширений .NET.
Рабочий процесс отладки
Чтобы выполнить отладку расширения, сделайте следующее:
- Используйте ArcGIS Server Manager для развертывания расширения.
- Используйте Менеджер, чтобы включить отладку расширения и настроить параметры отладки. Они подробно описаны ниже.
- Установите точки останова в нужных местах кода расширения.
- Остановите и затем повторно запустите сервис.
- Сразу прикрепите отладчик к процессу операционной системы, запустившему сервис. Если точка останова находится в коде инициализации расширения, она будет достигнута после запуска сервиса. В противном случае точка останова будет достигнута, когда вы используете расширение.
- Используйте Менеджер для отключения отладки.
Настройка параметров отладки в приложении Manager
Для облегчения отладки ArcGIS Server Manager позволяет изменять поведение расширения. Вы можете приостановить запуск сервиса, чтобы прикрепить отладчик к процессу сервиса до того, как будут вызваны методы инициализации расширения. Также можно указать диапазон портов, которые будут использоваться при отладке сервиса.
Для доступа к этим параметрам отладки в Менеджере выполните следующие действия:
- Выполните вход в ArcGIS Server Manager и щелкните Сайт (Site).
- Щелкните ГИС-сервер > Расширения.
- Щелкните Настройки отладки и включите Включить отладку расширений. Это активирует другие опции в диалоговом окне.
- При необходимости поставьте отметку Приостановить запуск сервиса (Suspend service startup) и введите количество секунд, на которое запуск сервиса должен быть отложен.
Код некоторых расширений работает только один раз, при запуске сервиса. Этот код, как правило, помещают в метод Construct интерфейса IObjectConstruct. Приостановка запуска сервиса дает вам время, чтобы прикрепить отладчик к процессу сервиса до запуска метода Construct, что позволяет вам достичь любых точек останова, установленных вами в коде метода.
- Также можно указать диапазон портов, который будет использоваться при отладке.
- Нажмите кнопку Сохранить.
Теперь вы можете отладить ваш дополнительный модуль посредством остановки и повторного запуска сервиса и прикрепления вашего отладчика к процессу операционной системы, запустившему ваш сервис. Если вы установили временное окно для приостановки запуска сервиса, вам нужно прикрепить отладчик к процессу сервиса, прежде чем это окно будет достигнуто. В противном случае вы не достигнете точек останова в методе Construct расширения.
В процессе отладки вы можете останавливать и запускать сервис столько раз, сколько необходимо.
Внимание:
После завершения отладки расширения вернитесь в параметры отладки и снимите отметку Включить отладку дополнительных модулей (Enable debugging of extensions). Если этого не сделать, а в параметрах включена приостановка запуска сервиса, задержка будет происходить при каждой попытке запуска сервиса.