Depuración de una aplicación Java

La JVM en CICS soporta la Java™ Platform Debugger Architecture (JPDA), que es el mecanismo de depuración estándar incluido en la plataforma Java 2. Esta arquitectura proporciona un conjunto de API que permiten adjuntar un depurador remoto a una JVM.

Acerca de esta tarea

Puede utilizar cualquier herramienta que dé soporte a JDPA para depurar una aplicación Java que se ejecute en CICS. Por ejemplo, puede utilizar el Java Debugger (JDB) que se incluye con el SDK de Java en z/OS. Para adjuntar un depurador remoto de JPDA, debe definir algunas opciones en el perfil de la JVM.

IBM proporciona herramientas de supervisión y diagnóstico para Java, incluido el centro de salud. IBM Health Center está disponible en IBM Support Assistant Workbench. Estas herramientas gratuitas están disponibles para su descarga de IBM como se describe en la guía Getting Started.

Procedimiento

  1. Añada la opción de depuración al perfil de JVM para iniciar la JVM en modalidad de depuración:
    -agentlib:jdwp=transport=dt_socket,server=y,address=puerto
    Seleccione un puerto libre para conectarse al depurador de forma remota. Si el perfil de JVM está compartido por más de un servidor de JVM, puede utilizar un perfil de JVM diferente para la depuración.
  2. Adjunte el depurador a la JVM. Si se produce un error durante la conexión, por ejemplo, si el valor de puerto es incorrecto, se escriben mensajes en secuencias de salida de JVM estándar y de error estándar.
  3. Mediante el depurador, compruebe el estado inicial de la JVM. Por ejemplo, compruebe la identidad de las hebras que se han iniciado y las clases de sistema que se han cargado. La JVM suspende su ejecución; la aplicación Java no se ha iniciado.
  4. Defina un punto de interrupción en un punto adecuado de la aplicación Java especificando el nombre de clase Java completo y el número de línea del código fuente. Como la clase de aplicación generalmente todavía no se ha cargado, el depurador indica que la activación de este punto de interrupción se aplaza hasta que se cargue la clase. Deje que la JVM se ejecute mediante el código de middleware de CICS hasta el punto de interrupción de la aplicación, momento en el que se vuelve a suspender la ejecución.
  5. Examine las clases cargadas y las variables, y defina más puntos de interrupción para avanzar por el código, según sea necesario.
  6. Finalice la sesión de depuración. Puede dejar que la aplicación se ejecute hasta su terminación, momento en el que la conexión entre el depurador y la JVM de CICS se cierra. Algunos depuradores dan soporte a la terminación forzada de la JVM, lo que genera una terminación anómala y mensajes de error en la consola del sistema CICS.