2010-11-08 9 views
5

He estado programando para Android con un éxito decente, pero una cosa que he notado es que cuando obtengo NullPointerExceptions, el seguimiento de la pila no tiene valor. Ellos son siempre de este formato:Android: excepciones genéricas del puntero nulo

Thread [<1> main] (Suspended (exception NullPointerException)) 
    ViewRoot.draw(boolean) line: 1431 
    ViewRoot.performTraversals() line: 1163 
    ViewRoot.handleMessage(Message) line: 1727 
    ViewRoot(Handler).dispatchMessage(Message) line: 99 
    Looper.loop() line: 123 
    ActivityThread.main(String[]) line: 4627  
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] 
    Method.invoke(Object, Object...) line: 521 
    ZygoteInit$MethodAndArgsCaller.run() line: 868 
    ZygoteInit.main(String[]) line: 626 
    NativeStart.main(String[]) line: not available [native method] 

Por lo general, trazas de la pila le dicen justo donde el código explotó, pero siempre parecen tener el más genérico de una posible. ¿Me estoy perdiendo algo obvio? Gracias.

Respuesta

6

Si está utilizando Eclipse, mire LogCat en las perspectivas DDMS o Debug. Le mostrará el rastro de la pila de la excepción en sí y la del código que la causó.

+1

¿Por qué no mostraría la excepción en la vista Debug ??? Parece extraño que eligió la parte "mala" de la pila para mostrar. – skaz

0
NativeStart.main(String[]) line: not available [native method] 

No estoy 100% seguro aquí, pero ¿quizás estás llamando a una API que aún no existe?

Por ejemplo, ¿está intentando realizar una llamada de Android 2.2 en un teléfono/emulador que ejecuta una versión inferior de Android (2.1, 1.6, 1.5)?

Cuestiones relacionadas