La ventana de Eclipse Logcat corta los rastreos de la pila de excepciones
Mi ventana logcat en Eclipse sólo muestra las primeras líneas del StackTrace para cada excepción. Esto significa que a menudo no puedo ver dónde ocurrió una excepción. ¿Hay alguna forma de cambiar esta configuración?
- ¿Hay alguna manera de acceder automáticamente a cualquier Log in Logcat por un doble clic?
- LogCat no muestra TAG "SMS"
- Sería mejor ser explícito si se requiere un buffer de 8k-char.
- SendUserActionEvent () es null
- Obtención de logcat desde el dispositivo Android de un probador
- Registrar mensajes en android studio junit test
- Android: ¿Puedo ignorar los errores "Vista primaria no es un TextView" y "sendUserActionEvent () mView == null"?
- Unity APK de Android se estrelló al inicio
- Restaurar la ventana LogCat dentro de Android Studio
- E / art: Error al enviar la respuesta al depurador: Canal roto, pero la aplicación todavía se ejecuta
- Android Studio falta excepción stacktrace en Logcat
- Logcat vacía con ACRA en el dispositivo
- ¿Qué es (D / NSD: curPkgName no está en la lista)?
Si se está refiriendo a la sección "… 12 más líneas …", sólo se ve que para las excepciones que fueron la causa de otra excepción. Si la parte superior de la traza de pila es la misma que la traza anterior, el conjunto completo de tramas sólo se muestra para la excepción más externa y las otras trazas obtienen el tratamiento "…".
Dicho de otra manera, el fragmento de un rastro que no se muestra es un duplicado de un rastro que apareció anteriormente en la cadena de causas de excepción. Por ejemplo, supongamos que tengo código donde el método main()
llama a one()
, que llama a two()
, y así sucesivamente. four()
lanza una excepción. two()
coge y vuelve a lanzarlo. La excepción se verá así:
java.lang.RuntimeException: re-throw at Foo.two(Foo.java:14) at Foo.one(Foo.java:7) at Foo.main(Foo.java:3) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: first at Foo.four(Foo.java:23) at Foo.three(Foo.java:19) at Foo.two(Foo.java:12) ... 3 more
La excepción "causado por" dice "… 3 más" en lugar de enumerar explícitamente one()
, main()
y dalvik.system.NativeStart.main
. Así que para obtener el rastro completo de la excepción inicial, empezaría por leer su rastreo, y luego continuar en el rastro anterior.
Tenga en cuenta que no hay superposición – two()
aparece en ambos, pero en el "primer" rastro que está en la llamada a three()
, y en el "re-throw" rastreo está en la instrucción throw
.
Puede sobrecargar todos los métodos de registro (log.d, log.i, log.e, etc) con los parámetros (String tag, String msg, Throwable tr)
, donde el tercer parámetro es la excepción. Esto le dará el stacktrace completo en logcat
http://developer.android.com/reference/android/util/Log.html
Si su código llama a un método que produce demasiado alto de la pila puede (y debe) manejar la excepción en su código y la salida de lo que sea relevante para los registros.
Si usted no tiene ninguna manipulación de excepción alguna y usted ni siquiera sabe dónde en su código debe poner un manejador, entonces el problema está totalmente en otra parte – usted debe manejar excepciones un poco mejor que eso.
- Java.io.IOException: setDataSource failed .: status = 0x80000000
- La geolocalización de Phonegap / Cordova no funciona en Android