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?

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.

  • No se encontraron métodos de depuración de logcat de Android
  • Enviar salida Logcat de una aplicación a una dirección de correo electrónico
  • Guardar Logcat en un archivo de texto en el dispositivo Android
  • Advertencia / errores del registro Logcat
  • No se puede encontrar la clase MainActivity (proyecto importado)
  • ¿Cómo selecciono el dispositivo que está mostrando LogCat en eclipse?
  • UnsatisfiedLinkError: n_Mat mientras se usa opencv2.4.3 con android 4.0
  • Inhabilitar Logcat (DDMS) y ejecutar la consola de apertura automática en cualquier actividad
  • Log.e no imprime el rastro de pila de UnknownHostException
  • ¿Cómo puedo acceder al archivo logcat en el dispositivo
  • Android "Apagar VM" sin stacktrace
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.