1

我正在 NetBeans 中开发一个 java ee Web 应用程序。我正在尝试调试应用程序的行为,但我看到的行为令人困惑。

我正在通过 Tomcat 中的 NetBeans 运行该应用程序。在 NetBeans 中,我从项目树的根目录中选择“调试”,然后我可以向我编写的应用程序发送一个请求。断点被击中,我从应用程序中获得了独特的结果。

但是,以后每次我尝试向我的应用程序发送请求时,都会得到完全相同的错误结果(即使我清除了 Chrome 上的缓存),并且 Netbeans IDE 不会在任何定义的断点处停止。这是可以预料的吗?Servlet 通过调试器运行一次后是否会在内存中被破坏?每次我想调试应用程序时,是否需要停止并重新启动/重新附加 NetBeans 调试器?使用调试器时我做错了什么吗?这是否表明我在 Servlet 中编写的代码存在问题?

谢谢,

杰森·马佐塔

4

1 回答 1

1

rjsang 关于缓存的观点可能是有效的,值得研究。但是,也可能是某些东西比您预期的更早中断,导致您甚至永远无法到达断点线。

我会建议:

  1. 使用调试日志语句(使用良好的日志框架,例如带有 SLF4j 的 Log4J)研究大量使用您的代码
  2. 在问题处设置更多断点 - 从您希望从请求中命中的第一行开始。如果可能的话,甚至更高/更早。
  3. 跟踪 Tomcat 日志 (catalina.out) - 您可能会发现那里发生了一些灾难性的事情。

祝你好运。

于 2013-11-12T22:12:18.553 回答