Come amministratore di sistema a volte incontro situazioni in cui un programma si comporta in modo anomalo, senza creare errori o creare messaggi di errore senza senso.
In passato - prima dell'arrivo di Java - c'erano due contromisure:
- Se nient'altro aiuta - RTFM ;-)
- Se anche 1. non aiuta - traccia le chiamate di sistema e guarda cosa sta succedendo
Di solito lo uso strace -f
per questo compito con Linux (altri sistemi operativi hanno strumenti di traccia simili). Ora, mentre questo di solito funziona bene per qualsiasi programma vecchio stile, la traccia diventa molto sfocata quando si fa lo stesso su un processo java . Ci sono così tante chiamate di sistema apparentemente estranee a qualsiasi azione reale, che è terribile cercare in una simile discarica.
Ci sono modi migliori per farlo (se il codice sorgente non è disponibile)?