Eclipse在processWorkerExit上中断

dvl*_*dvl 16 java debugging tomcat breakpoints thread-safety

在提供了一些请求之后,我的eclipse开始打破processWorkerExit()方法.

根据这个链接,我知道如何抑制日食的破坏,但有没有任何理由为什么代码在这条线上打破.在这种情况下会出现内存泄漏吗?

Tomcat 7.0.27
Eclipse 3.7.2
JDK 7.0.02

在此输入图像描述

cap*_*666 10

答案在这里:OpenJDK在没有断点的processWorkerExit上中断

默认情况下,在eclipse的调试模式下,会检查未捕获的异常中断.由于此处没有catch方法,因此可能会抛出未捕获的异常,并且在抛出异常之前调试器会立即中断.您可以在Java-> Debug下的首选项中将其关闭.


sha*_*kan 1

调试器在该行停止的原因是块内的代码抛出异常try{},并且该特定代码行是抛出异常后的下一个可执行代码行。您几乎肯定可以在控制台窗口中看到该异常的堆栈跟踪,因为默认情况下,冒泡到的未捕获异常Thread.run()将被发送到stderr.

至于你的问题是否可能存在内存泄漏(或者更可能的是,这是Java,资源泄漏):答案是肯定的,可能存在。但该代码中没有任何内容表明存在. 如果存在这样的泄漏,几乎可以肯定是因为task实现内部存在不正确的异常处理。