例如,我得到了这样的堆栈跟踪:
java.lang.NullPointerException abc.investxa.presentation.controllers.UnixServerJobController.handleRequest(UnixServerJobController.java:66) org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
那么,此异常的根本原因是什么?从堆栈跟踪中,我发现类中的doFilter函数存在问题OncePerRequestFilter!但是,当我在此处放置一个断点时,程序永远不会在该断点处停止。
doFilter
OncePerRequestFilter
谁能给这个解释!在一般情况下,我应该如何使用该堆栈情况进行调试(从下至上或从上至下读取)!
通常,确切的原因Exception在堆栈跟踪的第一行,有关该异常原因的更多信息,你需要逐步向下移动,并且根本原因通常可以在堆栈跟踪底部的某个位置找到。 。
Exception
但是在大多数情况下,你甚至可以从前几行中获取异常原因。
因此,在这种情况下,你的例外是handleRequest方法,而当你向下移动时,这些方法将调用你先前的方法(堆栈跟踪中当前方法上方的方法)
handleRequest