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

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