quinta-feira, 24 de novembro de 2011

Como configurar modo debug no JDeveloper com OC4J 10.1.3.5 remoto

Resolvi montar esse blog após uma certa dificuldade em "debugar" um webservice criado utilizando o JDeveloper e OC4J 10.1.3.5.
Em primeiro lugar é necessário iniciar o OC4J em modo debug, para isso precisamos da linha de comando abaixo:
java -Xdebug -Xnoagent -Djava.compiler=NONE 
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -jar oc4j.jar


Porém, para facilitar a inicialização em modo debug, é possível editar o arquivo oc4j.cmd, conforme postado anteriormente aqui.

O comando acima pode ser iniciado diretamente pelo prompt, ou para facilitar pode ser criada uma "external tool", veja passos abaixo:
1) Entre na opção External Tool:

2) Crie uma nova entrada External Tool:

3) Agora preencha a linha de comando, conforme exemplo abaixo:

Pronto, agora basta escolher a opção criada no menu External Tool:

Feito isso, basta verificar no log sua inicialização:

Primeira etapa concluída, agora vamos iniciar o modo debug.
1) Escolha o botão de debug na barra de ferramentas, e vá em "Manage Run Configuration"
2) Preencha os campos de acordo com as configurações pré-definidas na inicialização do server, e defina  o protocolo como "Attach to JDPA".

Confira no log se o JDeveloper foi conectado ao OC4J corretamente

Pronto, agora basta definir seus breakpoints e rodar a aplicação.

That´s all Folks!

Como criar uma entrada para debug editando o arquivo oc4j.cmd

Para  iniciar o OC4J em modo debug precisamos incluir a linha de comando abaixo:
java" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000 -jar oc4j.jar



Agora precisamos localizar o arquivo oc4j.cmd, que fica no path abaixo:
%OC4J_HOME\%oc4j_extended_101350\bin


Em seguida seguem os passos para edição do arquivo:



1) Criar uma variável para receber a porta de escuta do modo debug. No exemplo abaixo, a variável foi iniciado com 4000 (valor default), pois caso a mesma não seja informada, esse será o valor para a porta.

2) Incluir validação para verificar se o parâmetro de debug ("-debug") foi informado
3) Alterar as informações do help do comando, explicando como passar o novo parâmetro
4) Criar a entrada de tratamento do parâmetro de debug
5) Entrada para execução da linha de comando de debug:


Pronto, basta salvar o arquivo e chamá-lo na linha de comando como abaixo:
oc4j.cmd -debug -port 4000

Thta´s all folks!