Eclipse Logcat窗口会切断异常堆栈跟踪

Cas*_*ash 17 eclipse android logcat

我在Eclipse中的logcat窗口只显示每个异常的StackTrace的前几行.这意味着我经常看不到发生异常的地方.有没有办法改变这个设置?

fad*_*den 32

如果您指的是"...多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
Run Code Online (Sandbox Code Playgroud)

该"引发"异常说"...... 3个",而不是明确列出one(),main()dalvik.system.NativeStart.main.因此,要获得初始异常的完整跟踪,您将首先读取其跟踪,然后继续上面的跟踪.

注意没有重叠 - two()两者都出现了,但是在"第一"跟踪中它出现在调用上three(),并且在"重新抛出"跟踪中它出现在throw指令上.