2012-03-27 6 views
7

Sto cercando il modo più veloce ed efficiente per eseguire il debug della mia applicazione java per BlackBerry.il modo più efficiente per eseguire il debug sul dispositivo Blackberry?

Ho notato che ci vuole sempre solo per collegare il debugger al dispositivo, utilizzando una Torch 9800 nel mio caso. Devo allegarlo ogni volta che apporto una modifica al mio codice o esiste un modo migliore?

Ho anche notato che nella console, il dispositivo sembra stampare un sacco di cose che non mi interessa davvero. Vagliare tutto questo può davvero essere un dolore. C'è un modo per vedere solo le cose rilevanti per la mia applicazione nella console, in particolare solo le cose che io stesso stampo su di esso?

+2

Beh, sto sviluppando applicazioni BB per 1 anno, ma non ho trovato nulla che faciliti il ​​debugging. –

risposta

8
  1. Eclipse debugger e profiler, nella maggior parte dei casi - la soluzione migliore, ma in alcuni casi non aiuta a scoprire che cosa è la fonte problema.

  2. Scrittura sul log del dispositivo interno tramite la classe EventLogger. Come opzione, se c'è un'enorme quantità di dati - file di testo esterno, che si trova sulla scheda di memoria del dispositivo (non sul filesystem del dispositivo interno).

  3. Utilizzo della finestra di output della console. Sfortunatamente non c'è modo di applicare un filtro sull'output della console, ma c'è un modo per semplificare il lavoro con la console. Aggiungi la sequenza di simboli all'inizio dei messaggi di debug per distinguere le tue stampe di debug da quelle di sistema. Per esempio

    System.out.println ("!!!!!!!!!!!!!!!!!!!!!!! value myVar =" + myVar);

o in quel modo:

System.out.println("#############################################"); 
System.out.println("############# object1: " + object1); 
System.out.println("############# object2: " + object2); 
System.out.println("############# object3: " + object3); 
System.out.println("#############################################"); 

Quando c'è una grande quantità di dati di debug in console basta copiare tutto il testo della console a un editor di testo, come Notepad++ e lavorare con esso là.

+1

Grazie. Ho già iniziato a mettere un sacco di simboli davanti alle mie stampe. Ci aiuta sicuramente, ma è ancora terribile che non possiamo filtrare. Realizzo Android anche con Eclipse, ma ho questa opzione, molto utile. – PaulG

+0

Per quanto riguarda il punto n. 3, io uso anche per fare lo stesso.È conveniente eseguire l'inceppamento dell'intero registro e ottenere solo l'output (se si dispone di una macchina virtuale Linux a portata di mano). Sfortunatamente a volte i messaggi di sistema vengono mescolati con le tue linee di output, soprattutto quando sono lunghe. –

5

Sì, il debugger sulla maggior parte dei simulatori moderni impiega un'eternità per essere collegato. Più nuovo è il simulatore, più tempo ci vuole. Quello che faccio di solito è:

  • Provare a eseguire il debugging pesante del vecchio simulatore (spesso 83xx).
  • Se non è possibile, avviare il simulatore e non chiuderlo. Questa funzionalità di hot swap è disponibile solo dal 5.0 in poi nel plugin BlackBerry di eclissi.
  • Grazie allo scambio a caldo è possibile avviare il simulatore (con configurazione di esecuzione) e quindi premere il pulsante di debug. È molto più veloce dell'avvio del debug dall'inizio.
  • Quando si lavora con versioni precedenti del plugin eclipse in cui hot swap non è disponibile o codice per OS < 5.0, avviare il simulatore da eclipse con esecuzione, quindi aprire RIM JDE (sì, l'IDE Java RIM vecchio stile) e collega il debugger da lì (menu Debug -> Collega a -> simulatore). Non puoi fermarti nei punti di interruzione, ma puoi vedere l'output del testo. JDE non viene fornito con il plugin eclipse, devi download e installarlo in modo indipendente.
+1

Grazie per la risposta, ho dato il debug sui simulatori e sono stati il ​​debug esclusivamente sul mio dispositivo (Torch 9800). Trovo che i simulatori non agiscano "sempre" realisticamente. – PaulG

+0

Allora ti suggerisco di utilizzare JDE da allegare al dispositivo reale e vedere il risultato in tempo reale, piuttosto che dover aprire il registro degli eventi. Anche in questo modo puoi vedere 'System.out.println' e non solo registrare le voci. I vecchi plug-in di eclipse hanno permesso di eseguire questa operazione semplicemente spingendo il debug, ma versioni di plug-in più recenti reinstallano l'applicazione ogni volta, quindi è più lenta dell'utilizzo di JDE. –