2012-03-27 14 views
7

Estoy buscando la forma más rápida y eficiente de depurar mi aplicación java para BlackBerry.forma más eficiente de depuración en dispositivo Blackberry?

Me di cuenta de que lleva mucho tiempo simplemente conectar el depurador al dispositivo, utilizando un Torch 9800 en mi caso. ¿Debo adjuntarlo cada vez que realizo un cambio en mi código, o hay una forma mejor?

También noté que en la consola, el dispositivo parece estar imprimiendo MUCHAS cosas que realmente no me importan. Examinando todo esto puede ser realmente un dolor. ¿Hay alguna manera de ver solo las cosas relevantes para mi aplicación en la consola, específicamente solo las cosas que yo mismo imprimo?

+2

Bueno, estoy desarrollando aplicaciones BB durante 1 año, pero no he encontrado nada que facilite la depuración. –

Respuesta

8
  1. depurador de Eclipse y un perfilador, en la mayoría de los casos - la mejor solución, pero en algunos casos no ayuda a descubrir lo que es el origen del problema.

  2. Escritura en el registro del dispositivo interno a través de la clase EventLogger. Como una opción, si hay una gran cantidad de datos, un archivo de texto externo, ubicado en la tarjeta de medios del dispositivo (no en el sistema de archivos interno del dispositivo).

  3. Uso de la ventana de salida de la consola. Lamentablemente, no hay forma de aplicar un filtro en la salida de la consola, pero hay una manera de facilitar el trabajo con la consola. Agregue una secuencia de símbolos al comienzo de los mensajes de depuración para distinguir sus impresiones de depuración de las del sistema. Por ejemplo

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

O esa manera:

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

Cuando hay una gran cantidad de datos de depuración en la consola sólo tienes que copiar todo el texto de la consola a un editor de texto, como Notepad++ y trabajar con ella allí.

+1

Gracias. Ya comencé a colocar un montón de símbolos delante de mis impresiones. Ayuda con seguridad, pero aún es horrible que no podamos filtrar. Hago desarrollo de Android usando Eclipse también, pero tengo esta opción, muy útil. – PaulG

+0

Sobre el punto n. ° 3, utilizo para hacer lo mismo también.Es conveniente grep todo el registro y obtener solo su salida (si tiene una máquina virtual de Linux a la mano). Desafortunadamente, a veces los mensajes del sistema se mezclan con sus propias líneas de salida, principalmente cuando son largas. –

5

Sí, el depurador de la mayoría de los simuladores modernos tarda mucho en conectarse. Cuanto más nuevo sea el simulador, más tiempo tomará. Lo que suelo hacer es:

  • Trate de realizar la depuración pesada en el simulador anterior (a menudo 83xx).
  • Si no es posible, inicie el simulador y no lo cierre. Esta funcionalidad de hot swap está disponible solo para 5.0 en adelante en el plugin de eclipse BlackBerry.
  • Gracias al intercambio en caliente puede iniciar el simulador (con la configuración de ejecución) y luego presione el botón de depuración. Es mucho más rápido que lanzar depuración desde el principio.
  • Al trabajar con versiones anteriores del complemento eclipse donde el intercambio en caliente no está disponible, o la codificación de OS < 5.0, ejecute el simulador desde eclipse con ejecución, luego abra RIM JDE (sí, el IDE de Java hecho a la antigua RIM) y adjuntar depurador desde allí (menú Depurar -> Adjuntar a -> simulador). No puede detenerse en puntos de interrupción, pero puede ver el resultado de texto. JDE no incluye el complemento eclipse, debe download e instalarlo de forma independiente.
+1

Gracias por la respuesta, he dejado de depurar en los simuladores y he estado depurando exclusivamente en mi dispositivo (Torch 9800). Encuentro que los simuladores no "siempre" actúan de forma realista. – PaulG

+0

Luego le sugiero que use JDE para conectarlo a un dispositivo real y ver el resultado en tiempo real, en lugar de tener que abrir el registro de eventos. También de esta manera puedes ver 'System.out.println' y no solo entradas de registro. Los complementos antiguos de eclipse permitieron hacer esto simplemente presionando la depuración, pero las versiones de complemento más nuevas reinstalan la aplicación cada vez, por lo que es más lenta que con JDE. –

Cuestiones relacionadas