Como administrador de sistema, às vezes enfrento situações em que um programa se comporta de maneira anormal, sem criar erros ou criar mensagens de erro sem sentido.
No passado - antes da entrada do Java - havia duas contramedidas:
- Se nada mais ajudar - RTFM ;-)
- Se o 1. nem ajuda - rastreie as chamadas do sistema e veja o que está acontecendo
Eu normalmente uso strace -f
para esta tarefa com o Linux (outro sistema operacional possui ferramentas de rastreamento semelhantes). Agora, embora isso geralmente funcione bem para qualquer programa antiquado, o rastreamento fica muito confuso ao fazer o mesmo em um java . Existem tantas chamadas de sistema aparentemente sem relação com qualquer ação real, que é terrível procurar por esse despejo.
Existem maneiras melhores de fazer isso (se o código-fonte não estiver disponível)?