2011-05-19 19 views
13

Puede alguien decirme cómo debo leer los errores en Logcat? Me gustaría entender dónde está mi problema.Cómo interpretar Logcat

Por el momento, traté de leerlo, pero no puede encontrar la causa del accidente.

Aquí está la Logcat que no entiendo:

05-18 18:29:44.160: ERROR/AndroidRuntime(2145): FATAL EXCEPTION: main 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paad.whereami/com.paad.whereami.WhereAmI}: java.lang.NullPointerException 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.os.Looper.loop(Looper.java:130) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at java.lang.reflect.Method.invoke(Method.java:507) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at dalvik.system.NativeStart.main(Native Method) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): Caused by: java.lang.NullPointerException 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 

Respuesta

30

La segunda "parte" de su registro va a ser lo que es importante para usted en este caso.

Caused by: java.lang.NullPointerException

Esto significa que en algún lugar de su código de algo que se ajusta a null y que está tratando de usarlo como si no lo es.

Las pocas líneas siguientes le indican dónde en el código se puede encontrar el error.

at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290)
at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216)

Esto debe significar que usted tiene un método denominado updateWithNewLocation que llama desde onCreate en la línea 216. El error proviene del interior de este método en la línea 290. Tome un vistazo a la línea 290 en el código. Todo lo que está intentando hacer en esa línea está causando la excepción porque algo es null que no debería ser.

+0

Gracias Y. ou para explicar cómo leer el logcat – Rick

3

DOCS

Herramienta básica de Android para recoger/analizar los registros es el Logcat.

HERE es la ficha de Android sobre Logcat

Si utiliza Android Studio, también se puede comprobar esta LINK.

La captura de

Básicamente, puede capturar MANUAL Logcat con los siguientes comandos (o simplemente comprobar ventana AndroidMonitor en Android Studio):

adb logcat 

Hay una gran cantidad de parámetros que se pueden añadir a ordenar que ayuda para filtrar y mostrar el mensaje que desea ... Esto es personal ... Siempre utilizo el siguiente comando para obtener la marca de tiempo del mensaje:

adb logcat -v time 

Puede redirigir la salida a un archivo y analizarlo en un editor de texto.

Analizando

Su aplicación está fallando y que está recibiendo un error como este:

05-18 18:29:44.160: ERROR/AndroidRuntime(2145): FATAL EXCEPTION: main 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.paad.whereami/com.paad.whereami.WhereAmI}: java.lang.NullPointerException 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.os.Looper.loop(Looper.java:130) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at java.lang.reflect.Method.invoke(Method.java:507) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at dalvik.system.NativeStart.main(Native Method) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145): Caused by: java.lang.NullPointerException 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
05-18 18:29:44.160: ERROR/AndroidRuntime(2145):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 

Esta parte del registro que muestra una gran cantidad de información:

Cuando

Cuando ocurrió el problema: 05-18 18:29:44.160

Es importante comprobar que la cuestión pasó ... Usted puede encontrar varios errores en un registro ... usted debe estar seguro de que se está comprobando los mensajes adecuados :)

qué aplicación

aplicación que se estrelló: com.paad.whereami

de esta manera, usted sabe qué aplicación se estrelló (para asegurarse de que está comprobando los registros acerca de su mensaje)

Qué error

ERROR: java.lang.NullPointerException

Un puntero nulo en error de excepción

¿Qué archivo está dando lugar a este error

Por lo general, leemos sólo la primera línea de la traza de la pila. Sin embargo, su registro es un buen ejemplo de que necesitamos verificar el registro completo. En las líneas de abajo, podemos ver eran el puntero nulo sucedió:

Caused by: java.lang.NullPointerException 
    at com.paad.whereami.WhereAmI.updateWithNewLocation(WhereAmI.java:290) 
    at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 

Se produjo un error en el archivo WhereAmI.java, en el interior updateWithNewLocation() método en la línea: 290 (StackTrace muestra la línea que ocurrió el error)

StackTrace

Puede ver qué método se llama updateWithNewLocation(). Esto es útil porque a veces, el error se produjo en los métodos de llamada. En ti ejemplo, se llama:

at com.paad.whereami.WhereAmI.onCreate(WhereAmI.java:216) 

etc ....

general

esto era sólo una visión general ... No todos los registros son simples etc ... Es sólo para compartir la idea y proporcionar una información de nivel de entrada a usted ...

espero que te pueda ayudar de alguna manera ... Saludos