Отладка расширения (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 и щелкните Сайт.
- Щелкните ГИС-сервер > Расширения.
- Щелкните Настройки отладки и включите Включить отладку расширений. Это активирует другие опции в диалоговом окне.
- При необходимости поставьте отметку Приостановить запуск сервиса и введите количество секунд, на которое запуск сервиса должен быть отложен.
Код некоторых расширений работает только один раз, при запуске сервиса. Этот код, как правило, помещают в метод Construct интерфейса IObjectConstruct. Приостановка запуска сервиса дает вам время, чтобы прикрепить отладчик к процессу сервиса до запуска метода Construct, что позволяет вам достичь любых точек останова, установленных вами в коде метода.
- Также можно указать диапазон портов, который будет использоваться при отладке.
- Щёлкните Сохранить.
Теперь вы можете отладить расширение посредством остановки и повторного запуска сервиса и прикрепления отладчика к процессу операционной системы, запустившему сервис. Если вы установили временное окно для приостановки запуска сервиса, вам нужно прикрепить отладчик к процессу сервиса, прежде чем это окно будет достигнуто. В противном случае вы не достигнете точек останова в методе Construct расширения.
В процессе отладки вы можете останавливать и запускать сервис столько раз, сколько необходимо.
Внимание:
После завершения отладки расширения вернитесь в параметры отладки и снимите отметку Включить отладку дополнительных модулей. Если этого не сделать, а в параметрах включена приостановка запуска сервиса, задержка будет происходить при каждой попытке запуска сервиса.