我不知道为什么我从来没有发现自己必须使用调试器来逐步检查我的程序,看看发生了什么,可能是因为我习惯使用解释性语言,例如PHP,在那里添加调试代码变得非常容易(
print_r
)看现场的变化。
然而,有了这个新的Java项目,我觉得我必须学习正确的调试方法。
所以这个程序,我没有写,运行在Tomcat上,使用基本的jsp。问题是,当我试图访问一个特定的JSP页面时,它会抛出一个异常,并向我提供发生情况的stacktrace:
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:503)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:363)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:306)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.sgrp.singer.filters.SingerLoginFilter.doFilter(SingerLoginFilter.java:128)
如何使用JDB等工具逐步完成程序?我不能一步一步地完成一个特定的类,因为我需要模拟我的JSP正在做的事情。。。我想通过命令行执行此操作,而不使用IDE。