Frage

Ich bin derzeit mit Apache Tomcat 5.5.16 eine Lucene-basierten Suche API dienen.

In letzter Zeit habe ich einige Nullpointerexceptions in meiner Servlet-Klasse worden ist. Die Klasse wird com.my_company.search.servlet.SearchServlet genannt.

Bei bestimmten Arten von Eingabe kann ich routinemäßig eine Nullpointer schaffen, aber ich habe Probleme, herauszufinden, wo genau es ist.

Der Stacktrace zeigt an, dass der Fehler wird auftreten hier:

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

Die Quelle und .class-Dateien für diese Klasse ist alles in:

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

Meine Frage ist, wie kann ich Tomcat mich mit kräftigeren Fehlerstellen zu schaffen bekommen?

War es hilfreich?

Lösung

Tomcat können Sie nicht bieten detailliertere Informationen, es sei denn die Klassen in Frage mit Debug-Informationen kompiliert wurden. Ohne diese Debug-Informationen bestimmen die JVM kann nicht, welche Codezeile der Fehler aufgetreten ist auf.

Edit: Sie können die Compiler bitten, diese Information zu enthalten, indem die -g Angabe Option wenn javac auf der Kommandozeile ausgeführt wird. Sie können auch diese Option geben Sie den debug Parameter des Javac Ant-Task verwenden.

Andere Tipps

müssen Sie Debugging-Informationen zu Ihren Klassen hinzuzufügen. kompilieren sie mit der Option -g:

javac -g YourServlet.java

Die Lage unbekannte Quelle kann tritt auf, wenn der JIT-Compiler Klasse optimiert. An diesem Punkt werden die Quellinformationen verloren. die ursprüngliche Lage, den Server neu starten, und wiederholen Sie den Test zu erhalten. Die meiste Zeit werden Sie den Standort in Ihrer Quelle erhalten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top