2012-04-07 90 views
0

我试图在现有系统中追踪错误。所以问题在于Tomcat不会给我发生错误的行,而只是一般的NULL指针异常。当前的系统使用servlet来获取bean的引用。这个bean类执行所有的数据处理,当这样一个bean发生错误时,除非手动调试代码,否则我将无法找到错误,这对于偶尔发生的一些错误是不可能的。有没有我可以获取更多信息的标志?还是必须重新设计系统以获取调试信息? 我正在使用Tomcat 7.0.12版。 谢谢!Tomcat/Java调试信息

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处理试图访问一个空的对象,这导致与空指针异常伪装原始错误的性质。

+0

你可以给我你的tomcat版本吗? – dash1e 2012-04-07 22:53:58

+0

看起来这是给你的线路给我;看看从JSP生成的Java文件。如果你的bean没有做任何有用的日志记录,并且你没有在应用程序之外测试它,你的选项是有限的。请注意,您也可以在JSP内部登录,但很少需要。 – 2012-04-07 22:55:05

+0

Tomcat 7.0版 – peterparkr 2012-04-08 00:19:43

回答

2

你可以去到$ TOMCAT_HOME /工作/卡塔利娜/本地主机/ $ {} YOUR_APP_NAME /组织/阿帕奇/ JSP/..

,并找到该文件search_jsp.java。所以你可以找到发生错误的那一行。

+0

嘿,问题是,错误发生在编译的bean类中,而不是在servlet本身中,所以扩展后的jsp文件不能帮助我。 – peterparkr 2012-04-08 00:19:09

+0

Stacktrace说:org.apache.jsp.search_jsp._jspService(search_jsp.java:151) 行中的代码是什么?你有任何额外的信息? – 2012-04-08 00:22:10

+0

是的,它调用了一个bean的方法:bean.search(...) – peterparkr 2012-04-08 00:23:11