Depurando um Aplicativo Java

O JVM em CICS suporta o Java™ Platform Debugger Architecture (JPDA), que é o mecanismo de depuração padrão fornecido na Plataforma Java 2. Esta arquitetura fornece um conjunto de APIs que permitem a conexão de um depurador remoto a um JVM.

Sobre Esta Tarefa

É possível usar qualquer ferramenta que suporte JDPA para depurar um aplicativo Java em execução no CICS. Por exemplo, é possível usar o Depurador Java (JDB), incluído com o Java SDK em z/OS. Para conectar um depurador JPDA remoto, é preciso definir algumas opções no perfil JVM.

A IBM fornece monitoramento e ferramentas de diagnósticos para Java, incluindo Health Center. O IBM Health Center está disponível no IBM Support Assistant Workbench. Estas ferramentas grátis estão disponíveis para download a partir da IBM, conforme descrito no guia de Introdução do http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/getting_started.html.

Procedimento

  1. Inclua a opção de depuração no perfil JVM para iniciar o JVM em modo de depuração:
    -agentlib:jdwp=transport=dt_socket,server=y,address=port
    Selecione uma porta livre para conectar-se ao depurador de forma remota. Se o perfil JVM for compartilhado por mais de um servidor JVM, será possível usar um perfil JVM diferente para depuração.
  2. Conecte o depurador ao JVM. Se um erro ocorrer durante a conexão, por exemplo o valor da porta estiver incorreto, as mensagens serão gravadas na saída JVM padrão e fluxos de erro padrão.
  3. Usando o depurador, verifique o estado inicial do JVM. Por exemplo, verifique a identidade de encadeamentos iniciados e classes de sistemas carregadas. O JVM suspende a execução; o aplicativo Java não foi iniciado.
  4. Configure um ponto de interrupção em um ponto ajustável no aplicativo Java, especificando o nome da classe Java e o número da linha do código de origem. Como a classe de aplicativo geralmente ainda não é carregada, o depurador indica que a ativação deste ponto de interrupção será adiada até que a classe seja carregada. Permita que o JVM seja executado por meio do código middleware do CICS para o ponto de interrupção do aplicativo, ponto em que ele suspende novamente a execução.
  5. Examine as classes carregadas e variáveis e defina os pontos de interrupção adicionais a serem percorridos pelo código, conforme necessário.
  6. Termine a sessão de depuração. É possível permitir que o aplicativo seja executado até a conclusão, ponto em que a conexão entre o depurador e o JVM do CICS seja fechado. Alguns depuradores suportam encerramento forçado do JVM, que resulta em um encerramento de forma anormal e mensagens de erro no console do sistema do CICS.