2012-01-18 13 views
9

Eclipse Debugger smette improvvisamente di non buttare nulla:Eclipse debugger si ferma da solo senza alcun throwable

private void openChannelsListActivity() { 
    try{ 
     Intent gridListIntent=new Intent(); 
     // the pause is on the following line 
     gridListIntent.setClass(this,ChannelsListActivity.class); 
     startActivity(gridListIntent); 
    } 
    catch (Throwable e){ 
     ErrorMessage.outputMessageByName(
      "channels_list_activity_create",this, " While setting intent."); 
     finish(); 
    } 
} 

Lo stack è:

DexFile.defineClass(String, ClassLoader, int, ProtectionDomain) line: not available [native method] 
DexFile.loadClassBinaryName(String, ClassLoader) line: 207 
PathClassLoader.findClass(String) line: 200 
PathClassLoader(ClassLoader).loadClass(String, boolean) line: 551 
PathClassLoader(ClassLoader).loadClass(String) line: 511  
PackVideo.openChannelsListActivity() line: 508 

Se premo Riprendi, l'applicazione va avanti senza problemi. L'attività inizia OK, ma non è un comportamento normale e sicuramente significa che qualcosa non va. Che cos'è?

Il problema non è in attesa; il tempo trascorso dall'avvio dell'app a questo punto è di circa 2 secondi.

Non è un'eccezione non rilevata; Li ho disattivati ​​nelle preferenze del debugger.

Non è un punto di interruzione nascosto, li ho eliminati tutti.

risposta

4

E di nuovo si trattava di un bug di Eclipse. Dopo un po 'di entrata e uscita da Eclipse, questo comportamento è scomparso.

Per quanto riguarda la pulizia dei punti di interruzione, lo uso sempre quando ci sono problemi con i punti di interruzione, già da due anni. Il problema era più profondo questa volta - ho dovuto entrare ed uscire da Eclipse molte volte - non avevo contato, c'erano circa 5 di loro, penso. E dopo l'ultimo il problema è scomparso. Senza il riavvio del sistema, senza modifiche manuali nello spazio di lavoro o nelle cartelle di Eclipse. Penso che sia collegato a quel comportamento intellettuale del debugger, quando si ferma prima della possibile interruzione. Il debugger di Eclipse è bacato e in questo, molto complicato, potrebbe essere ancora più buggato.

+1

Interessante. All'inizio ho pensato che fosse anche un bug di Eclipse, ma ora risulta che ho avuto un breakpoint in una classe, che non sembra un breakpoint, ma un simbolo 'C'. Era questo punto di rottura che stava venendo colpito e io non lo riconoscevo. Ecco perché la soluzione di JeffG ha funzionato per me. Sei sicuro che la soluzione di JeffG non ha funzionato per te nel tuo scenario? –

+0

Per quanto riguarda la pulizia dei punti di interruzione, lo uso sempre quando ci sono problemi con i punti di interruzione, già da due anni. Il problema era più profondo questa volta - ho dovuto entrare ed uscire da Eclipse molte volte - non avevo contato, c'erano circa 5 di loro, penso. E dopo l'ultimo il problema è scomparso. Senza il riavvio del sistema, senza modifiche manuali nello spazio di lavoro o nelle cartelle di Eclipse. Penso che sia collegato a quel comportamento intellettuale del debugger, quando si ferma prima della possibile interruzione. Il debugger di Eclipse è bacato e in questo, molto complicato, potrebbe essere ancora più buggato. – Gangnus

20

una soluzione adeguata è di andare

Finestra -> Visualizza Visualizza -> Altri -> Debug -> Punti di interruzione

e poi su quella vista fare clic su Tutto tasto punti di interruzione Rimuovi.

Sembra eclisse un po 'confusa e pensato che ci fosse un punto di interruzione in cui non c'era

+0

Interessante osservazione, grazie, +1, non l'ho incontrato da solo. Ma non era il caso. Non è la soluzione, o una soluzione adeguata, è solo una delle tante soluzioni possibili - meglio correggere l'intestazione. – Gangnus

+2

Questo ha funzionato per me, ma apparentemente non perché Eclipse fosse confuso, ma perché Eclipse mi ha confuso. :) Apparentemente c'era un breakpoint su una mia classe, che è evidenziato con un simbolo 'C' invece del normale proiettile blu. –

+1

Anni dopo questo ha aiutato! –

3

Ho avuto lo stesso problema; era un breakpoint alla dichiarazione della classe MyActivity.java. Apparentemente, un punto di interruzione in una dichiarazione di classe compare nell'editor come una "C" bianca in un cerchio verde, invece del solito punto blu. Devo avere qualcosa con le dita grasse perché il punto di interruzione sia stato aggiunto lì. Ho cancellato il breakpoint e il debugger non si ferma più qui.

+0

Nel mio caso tutti i punti di interruzione sono stati tutti ripuliti. – Gangnus

Problemi correlati