Estou tendo um problema em dois clientes que me relatam que, num determinado momento da execução
do programa ele simplesmente cai fora, como se encerrassem a aplicação.
Estou usando a classe ?Runtime.getRuntime().addShutdownHook? para que sempre que o programa
encerre, ele execute o método RUN desta classe. Até aí tudo bem, porém não sei onde buscar a informação
de ONDE o programa estava quando encerrou sua execução.
Alguém tem alguma dica ?
Desde já agradeço a atenção
Obs: O JRE instalado é o 1.6.0_07 e está rodando no Windows XP.
Fiz uma verdadeira “caça as bruxas” para identificar onde é que o programa estava
encerrando a VM.
Fui colocando uns “perdigueiros” que gravam em arquivo texto o local por onde a
execução do programa vai passando. Acontece que a VM simplesmente encerra
( sem gerar nenhuma excessão ) entre a chamada de um método e a execução
do mesmo.
Ex: nonononononoon…;
gravaLog(“Vai entrar no método X”);
ret = metodoX();
nononononononon…;
public tipoRet metodoX()
gravaLog(“Entrou no Método X”);
nonononononononono…
No meu arquivo de LOG fica escrito : “Vai entrar no metodo X” … e só !!!
De 70 terminais que rodam o sistema, apenas em 3 estou tendo este problema.
Já troquei o JRE para outra versoes …e nada.
Ás máquina estão com windows XP.
Existe alguma configuração no windows que pode afetar a estabilidade da VM ?
Se alguém tiver alguma dica… agradeço , está acabando as minhas alternativas.
Nestas máquinas rodam outros sistemas ( em Delphi ) sem nenhum problema.
Quando é um “crash” da VM é gerado um arquivo de log. O arquivo tem o nome de hs_err_pidXXXX (onde XXXX é um numero, ex: hs_err_pid876.tx) onde consta o ocorrido e se não me falha a memória fica em JAVA_HOME\BIN ou JRE_HOME\BIN.
Se for windows, tente dar uma olhada nos logs de eventos.
É justamente isto que me pergunto.
Será que existe alguma configuração no XP que possa estar influenciando
neste problema ?
O problema ocorre aleatoriamente, porém SEMPRE no mesmo local do sistema.