Eclipse中的我的logcat窗口仅显示每个异常的StackTrace的前几行。这意味着我经常看不到发生异常的地方。有什么方法可以改变这个设置吗?Eclipse Logcat窗口中断异常堆栈跟踪
17
A
回答
32
如果您所指的是“... ...更多行......”部分,您只能看到导致另一个异常的异常。如果堆栈跟踪的顶部与先前的跟踪相同,则仅显示最外部异常的完整帧集,其他跟踪将得到“...”处理。
换言之,未显示的跟踪块是在前面异常原因链中出现的跟踪的副本。例如,假设我有代码,其中方法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()
出现在两个,但在“第一次”追踪它的呼叫three()
,并在“再抛”追踪它的throw
指令。
-1
如果你的代码调用了一个产生太大堆栈的方法,你可以(也应该)处理代码中的异常并输出与日志相关的任何东西。
如果你没有任何异常处理,你甚至不知道你的代码在哪里,如果你把这样的处理程序,那么问题完全在别处 - 你应该处理异常好一点。
1
您可以使用(String tag, String msg, Throwable tr)
参数重载所有日志方法(log.d,log.i,log.e等),其中第三个参数是例外。这将是您使用的SDK版本给你的logcat
http://developer.android.com/reference/android/util/Log.html
相关问题
- 1. 异常堆栈跟踪
- 2. 异常和堆栈跟踪
- 3. eclipse中的堆栈跟踪
- 4. 重新显示堆栈跟踪窗口
- 5. log4j截断堆栈跟踪
- 6. log4j截断堆栈跟踪
- 7. 异常(堆栈跟踪)在一行
- 8. Java异常处理和堆栈跟踪
- 9. ASM ByteCode - 异常的堆栈跟踪
- 10. 打印堆栈跟踪元素异常
- 11. Eclipse控制台不显示Tomcat异常/堆栈跟踪
- 12. Javascript异常栈跟踪
- 13. Eclipse插件的堆栈跟踪
- 14. NPE没有堆栈跟踪
- 15. VB6中的堆栈跟踪
- 16. Java中没有堆栈跟踪的异常
- 17. 在Python中检索双重异常原始堆栈跟踪
- 18. 在Silverlight中重新抛出异常时保留堆栈跟踪
- 19. NullPointerException异常在Java中没有堆栈跟踪
- 20. WebSphere日志中没有出现异常堆栈跟踪
- 21. 从模糊堆栈跟踪中查找异常原因
- 22. Application Insight中的MVC异常隐藏堆栈跟踪
- 23. 如何从Python中的异常对象获取堆栈跟踪?
- 24. JavaScript中的异常日志记录,捕获堆栈跟踪
- 25. 在JavaME中打印异常堆栈跟踪,用于三星JET
- 26. 如何在自定义异常中打印堆栈跟踪?
- 27. 正在重复相同的异常堆栈跟踪
- 28. 调试logcat堆栈跟踪 - 没有例行程序信息
- 29. 如何防止Android SQLite将堆栈跟踪转储到logcat?
- 30. 如何防止NDK将堆栈跟踪转储到android logcat?
完整堆栈跟踪?这是一个相当奇怪的行为...你能提供一个输出示例来切断堆栈跟踪吗? *编辑*:我没有看到eclipse标签,对不起。无论如何,如果你使用原始的logcat,我认为你不会遇到任何问题:'adb logcat' – Cristian 2010-05-25 03:20:48
如果你指的是“... 12 more lines ...”部分,你只能看到那些例外是另一个例外的原因。如果堆栈跟踪的顶部与另一个堆栈跟踪相同,则仅显示其中一个框架的完整框架集合,另一个框架将得到“...”处理。 (你真的需要在你的问题中增加更多细节 - 我们只是猜测你想要什么。) – fadden 2010-05-25 05:29:07
@Fadden:你说得对 - 它根本不会切断它。如果您发表该评论作为答案,那么我会接受它。 – Casebash 2010-05-25 23:36:01