Окно Eclipse Logcat отключает следы стека исключений

В моем окне logcat в Eclipse отображаются только первые строки StackTrace для каждого исключения. Это означает, что я часто не вижу, где произошло исключение. Есть ли способ изменить этот параметр?

Solutions Collecting From Web of "Окно Eclipse Logcat отключает следы стека исключений"

Если вы ссылаетесь на часть «… еще 12 строк …», вы видите только это для исключений, которые были причиной другого исключения. Если верхняя часть трассировки стека совпадает с предыдущей трассировкой, полный набор кадров отображается только для самого внешнего исключения, а остальные трассы получают обработку «…».

Другими словами, фрагмент следа, который не показан, представляет собой дубликат следа, который появился ранее в цепочке причин исключения. Например, предположим, что у меня есть код, где метод main() вызывает one() , который вызывает two() и т. Д. four() выбрасывает исключение. two() ловит его и повторно бросает. Исключение будет выглядеть так:

 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 

Исключение «из-за» говорит «… еще 3», а не явно перечисляет one() , main() и dalvik.system.NativeStart.main . Таким образом, чтобы получить полный след первоначального исключения, вы начнете с чтения его трассировки, а затем продолжите трассировку выше.

Обратите внимание, что нет перекрытия. В two() появляется two() , но в «первой» трассе он находится на вызове three() , а в трассировке «повторного броска» он находится в команде throw .

Вы можете перегрузить все методы журнала (log.d, log.i, log.e и т. Д.) С параметрами (String tag, String msg, Throwable tr) , где третий параметр является исключением. Это даст вам полный стек в logcat

http://developer.android.com/reference/android/util/Log.html

Если ваш код вызывает метод, который производит слишком высокий стек, вы можете (и должны) обрабатывать исключение в своем коде и выводить все, что имеет отношение к журналам.

Если у вас нет никакой обработки исключений, и вы даже не знаете, где в вашем коде вы должны помещать такого обработчика, тогда проблема полностью в другом месте – вы должны обрабатывать исключения немного лучше, чем это.