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
- 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.
- 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.
- 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.
- 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.
- Examine as classes carregadas e variáveis e defina os pontos de
interrupção adicionais a serem percorridos pelo código, conforme necessário.
- 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.