Domanda

Attualmente sto usando Apache Tomcat 5.5.16 per servire una ricerca API Lucene-based.

Ultimamente sto avendo alcuni NullPointerExceptions dentro la mia classe servlet. La classe si chiama com.my_company.search.servlet.SearchServlet.

Con alcuni tipi di input che posso creare una routine NullPointerException, ma sto avendo problemi a capire esattamente dove si trova.

Lo StackTrace indica che il bug è in corso qui:

com.my_company.search.servlet.SearchServlet.doGet(Unknown Source)

Il file .class sorgente e per questa classe è tutto in:

$TOMCAT_HOME/webapps/my_servlet/WEB-INF/classes/com/my_company/search/servlet/

La mia domanda è, come posso ottenere Tomcat per fornire me con le posizioni di errore più descrittivo?

È stato utile?

Soluzione

Tomcat non è in grado di fornire informazioni più dettagliate a meno che le classi in questione sono stati compilati con le informazioni di debug. Senza queste informazioni di debug, la JVM non è in grado di determinare quale riga di codice si è verificato l'errore.

Modifica Si può chiedere al compilatore di includere queste informazioni specificando il -g opzione quando in esecuzione javac sulla riga di comando. È inoltre possibile specificare questa opzione utilizzando il parametro debug del Javac Ant compito .

Altri suggerimenti

è necessario aggiungere le informazioni di debug alle classi. li compilare con l'opzione -g:

javac -g YourServlet.java

la lattina località sconosciuta fonte si verifica quando il compilatore JIT ha ottimizzato la vostra classe. A quel punto le informazioni di origine si perde. per ottenere la posizione originale, riavviare il server e ripetere il test. Il più delle volte si otterrà la posizione nell'origine

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top