我正在尝试追踪现有系统中的错误。所以问题是 Tomcat 没有给我发生错误的行,而只是一个一般的 NULL 指针异常。当前系统使用获取 bean 引用的 servlet。这个 bean 类完成所有数据处理,每当此类 bean 中发生错误时,除非我手动调试代码,否则我将无法找到错误,这对于一些偶尔发生的错误是不可能的。我可以启用任何标志来获取更多信息吗?还是我必须重新设计系统才能获得调试信息? 我正在使用 Tomcat 版本 7.0.12。 谢谢!
java.lang.NullPointerException
at org.apache.jsp.search_jsp._jspService(search_jsp.java:151)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at ...
编辑:刚刚发现 servlet 中的异常处理试图访问空对象的属性,这导致原始错误被空指针异常伪装。
最佳答案
您可以转到 $TOMCAT_HOME/work/catalina/localhost/${YOUR_APP_NAME}/org/apache/jsp/..
并找到文件 search_jsp.java。这样您就可以找到发生错误的行。
关于java - Tomcat/Java 调试信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10058998/