Java Eclipse在processWorkerExit上中断

Java Eclipse在processWorkerExit上中断,java,debugging,tomcat,thread-safety,breakpoints,Java,Debugging,Tomcat,Thread Safety,Breakpoints,在处理了几个请求之后,我的eclipse开始在processWorkerExit()方法上中断 根据这一点,我知道如何抑制eclipse的中断,但这行代码中断的原因是什么。在这种情况下会有内存泄漏吗 Tomcat 7.0.27 Eclipse 3.7.2 JDK 7.0.02 调试器在该行停止的原因是,try{}块中的代码引发异常,而该特定代码行是引发异常后的下一个可执行代码行。您几乎可以肯定地在控制台窗口中看到该异常的堆栈跟踪,因为默认情况下,Thread.run()中出现的未捕获异常将被发送

在处理了几个请求之后,我的eclipse开始在processWorkerExit()方法上中断

根据这一点,我知道如何抑制eclipse的中断,但这行代码中断的原因是什么。在这种情况下会有内存泄漏吗

Tomcat 7.0.27
Eclipse 3.7.2
JDK 7.0.02


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


至于您关于是否可能存在内存泄漏(或者更可能是Java,资源泄漏)的问题:答案是肯定的,可能存在。但是,代码中没有任何东西表明存在。如果出现这样的泄漏,几乎可以肯定是因为
任务
实现中存在错误的异常处理

我也有同样的问题。如果您有try/catch子句,但没有记录异常,则会在try/catch子句中中断。尝试向LogCat插入断点或输出,如下所示:

try
{
   //HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
   Log.e("tag", "Sth passed!");
}
catch (Exception e)
{
   //The task failed
   Log.e("tag", e.getMessage());           
}
如果您没有try/catch块,请像上面的代码一样将其放入。在LogCat中,您可以看到异常之前运行的最后一行代码。它将帮助您定位代码中的错误,如下所示:

try
{
   //HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
   Log.e("tag", "Sth passed!");
}
catch (Exception e)
{
   //The task failed
   Log.e("tag", e.getMessage());           
}
08-28 05:49:52.321:E/SQLiteDatabase(834):位于java.lang.Thread.run(Thread.java:841)

答案如下:

默认情况下,在eclipse的调试模式下,未捕获异常中断是 选中的。因为这里没有catch方法,所以 正在引发未捕获异常,并且调试器正在中断 在引发异常之前,请立即执行此操作。你可以把它关掉 Java->Debug下的首选项