A la hora de programar aplicaciones para Android nos encontramos muchas veces con que hacer un debug de determinados errores es muy complicado porque su trazabilidad se sumerge en las inmensidades del código fuente Android y resulta complicado encontrar desde dónde se generó el error en nuestra app.

Un ejemplo típico, cuando lanzamos nuestra app por primera vez y nos encontramos con un Null Pointer Exception (NPE). Le hemos pasado un valor nulo desde algún lado de nuestro código pero a priori no sabemos desde dónde porque el DDMS de Eclipse simplemente nos dirá algo así:

07-31 23:45:19.592: ERROR/AndroidRuntime(716): java.lang.RuntimeException: Unable to start
activity ComponentInfo{com.examplePackage.Main}: java.lang.NullPointerException

La actividad falla nada más empezar porque le hemos pasado un valor nulo dónde no debería pero no nos da información sobre de dónde proviene en nuestro código y no vamos a ponernos a buscar en el código Android.

Aquí vienen en nuestra ayuda los Java Breakpoints Exceptions de Eclipse, que detendrán el programa en el punto en el que se genere la excepción dentro de nuestro código. Para activarlos:

  1. Run: Add Java Exception Breakpoint
  2. Escribimos “nullpointer” para poder seleccionar la excepción NPE.
  3. Comprobar que está seleccionado “suspend on caught exceptions” y “suspenda on uncaught exceptions”
Eclipse IDE
Eclipse Java Exception Breakpoint

Al volver a ejecutar el código (en modo debug), el programa se detendrá en la parte de nuestro código que generó la excepción. Podemos ahorrar horas de debug con esta utilidad así que tengámosla en mente!!.

Más información en la página de eclipse pinchando aquí.

Anuncios