Depurar una extensión (SOE o SOI) plantea algunos retos, ya que debe entrar en un proceso de servicio en ejecución. ArcGIS Server Manager ofrece algunas configuraciones que pueden ayudarle a depurar extensiones de Java. Estas configuraciones se describen con más detalle a continuación. Solo puede depurar extensiones .NET con el depurador de Visual Studio; no existen herramientas de depuración de Server Manager para las extensiones de .NET.
La documentación de ArcGIS Enterprise SDK proporciona ayuda detallada para depurar extensiones Java y .NET.
Flujo de trabajo de depuración
Para depurar su extensión, debe hacer lo siguiente:
- Utilizar ArcGIS Server Manager para implementar la extensión.
- Utilizar Server Manager para habilitar la depuración de la extensión y configurar la depuración. Estas acciones se describen en detalle a continuación.
- Establecer puntos de corte en las ubicaciones deseadas en el código de extensión.
- Detenga y vuelva a iniciar el servicio.
- Adjunte inmediatamente el depurador al proceso del sistema operativo que ejecuta el servicio. Si el punto de corte está en el código de inicialización de la extensión, el punto de corte se verá afectado a medida que el servicio se inicie. De lo contrario, el punto de corte se verá afectado cuando utilice la extensión.
- Utilice Server Manager para deshabilitar la depuración.
Configurar la depuración en Server Manager
Para facilitar la depuración, ArcGIS Server Manager le permite alterar el comportamiento de la extensión. Puede suspender el inicio del servicio para que pueda adjuntar su depurador al proceso del servicio antes de llamar a los métodos de inicialización de la extensión. También puede especificar un rango de puertos que utilizará cuando depure el servicio.
Para acceder a estas opciones de configuración de depuración en Server Manager, siga estos pasos:
- Inicie sesión en ArcGIS Server Manager y haga clic en Sitio.
- Haga clic en Servidor SIG > Extensiones.
- Haga clic en Configuraciones de depuración y marque la opción Habilitar la depuración de extensiones. Esto habilita las demás opciones en el cuadro de diálogo.
- De manera opcional, marque Suspender el inicio del servicio y especifique el número de segundos que debería retrasarse el inicio del servicio.
El código de algunas extensiones solo se ejecuta una sola vez, cuando se inicia el servicio. Este código se colocan generalmente en el método Construir de la interfaz IObjectConstruct. Suspender el inicio del servicio le da tiempo para adjuntar su depurador al proceso del servicio antes de que el método Construir se ejecute, permitiendo así alcanzar cualquier punto de corte que haya establecido en el código de ese método.
- De manera opcional, puede especificar un rango de puertos que se va a utilizar durante la depuración.
- Haga clic en Guardar.
Ahora puede depurar la extensión deteniendo y después iniciando de nuevo el servicio, y adjuntar su depurador al proceso del sistema operativo que ejecuta el servicio. Si configura una ventana de tiempo para la suspensión del inicio del servicio, debe adjuntar su depurador al proceso de servicio antes de que alcance esta ventana; de lo contrario, no alcanzará los puntos de corte en el método Construir de la extensión.
Puede detener e iniciar el servicio tantas veces como sea necesario durante el proceso de depuración.
Precaución:
Cuando haya terminado de depurar la extensión, vuelva a la configuración de depuración y desactive Habilitar depuración de extensiones. Si no lo hace y configuró la opción de suspender el inicio del servicio, experimentará un retraso cada vez que intente iniciar el servicio.