Regularmente obtengo el infame e inútil mensaje "desafortunadamente crappyApp ha dejado de funcionar". ¿Cómo averiguar qué salió realmente mal? Supongo que hay un rastro de pila en alguna parte, aunque idealmente me gustaría modificar el mensaje inútil en sí mismo si eso es posible en un dispositivo rooteado.
Simplemente puede ver el seguimiento de la pila de fallas después de que ocurra una falla. Use el comando ADB a continuación,
adb logcat -b crash #default
adb -d logcat -b crash #show from device when multiple device
adb -s logcat -b crash #show from simulator when multiple device
Existen múltiples formas de obtener información útil. Pero como señaló Dan , las soluciones en el dispositivo requerirán root (comenzando con JellyBean) y soluciones ADB fuera del dispositivo:
adb logcat
ya se describió en la respuesta de Dan . Para obtener más detalles, puede consultar nuestra wiki de etiquetas de registro .adb bugreport > report.txt
brinda información muy detallada, incluidos detalles de las herramientas dumpsys
, dumpstate
y . logcat
Se pueden encontrar varias herramientas para facilitar el análisis de su salida, por ejemplo, en las respuestas a ¿Mejor método para ver la salida de "adb bugreport"? en nuestro sitio hermano.En la mayoría de los casos, si la depuración de USB está activada, puede usar adb logcat
para ver la salida de excepción. Esto generalmente incluye un seguimiento de la pila, pero eso no suele ser útil a menos que tenga el código fuente de la aplicación. De todos modos, el desarrollador de la aplicación probablemente te lo agradecerá si la incluyes en cualquier informe de error.
NullPointerException
en realidad no le dice mucho a menos que sea el desarrollador de la aplicación.Lea los archivos /data/anr/
que significan "aplicaciones que no responden". yo sueloadb shell cat /data/anr/$FILE
Habrá una para cada aplicación que se cierre a la fuerza o que no responda por algún motivo.
izzy