2012-04-27 13 views
14

Dopo aver inviato alcune richieste, il mio eclipse ha iniziato a interferire con il metodo processWorkerExit().Interruzioni di Eclipse su processWorkerExit

Come per questo link So come sopprimere l'interruzione di eclissi ma c'è qualche motivo per cui il codice si sta rompendo su questa linea. Può esserci una perdita di memoria in questo caso?

Tomcat 7.0.27
Eclipse 3.7.2
JDK 7.0.02

enter image description here

risposta

1

Il motivo il debugger si ferma su quella linea è perché c'è un'eccezione gettata dal codice all'interno del blocco try{} e quella riga di codice specifica è la successiva riga di codice eseguibile dopo che è stata generata l'eccezione. Quasi sicuramente si può vedere la traccia dello stack di quell'eccezione nella finestra della console, perché per impostazione predefinita viene inviata un'eccezione non rilevata che bolle fino a.

Per quanto riguarda la domanda se ci può essere una perdita di memoria (o più probabilmente, questo è Java, una perdita di risorse): la risposta è sì, potrebbe essere . Ma non c'è nulla in quel codice per indicare che lì è. Se ci fosse una tale perdita, sarebbe quasi certamente perché c'è una gestione errata delle eccezioni all'interno dell'implementazione task.

0

Ho avuto lo stesso problema. Si rompe nella tua clausola try/catch se ne hai uno se non si registra l'eccezione. Provare a inserire un punto di interruzione o di uscita per LogCat in questo modo:

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());   
} 

Se non si dispone di blocco try/catch invece diciamo che nel precedente codice. In LogCat puoi vedere l'ultima riga di codice che è stata eseguita prima dell'eccezione ti aiuterà a individuare l'errore nel tuo codice in questo modo:

08-28 05: 49: 52.321: E/SQLiteDatabase (834): a java.lang.Thread.run (Thread.java:841)

9

risposta è qui: OpenJDK breaks on processWorkerExit with no breakpoint

in modalità di debug in Eclipse per impostazione predefinita, rompere sulle eccezioni non gestite fanno è controllato. Poiché non si dispone di un metodo di cattura qui, è probabile che venga generata un'eccezione non rilevata e che il debugger si interrompa per immediatamente prima che venga generata l'eccezione. Puoi disattivarlo nelle preferenze sotto Java-> Debug.