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. Sammy.js異常堆棧跟蹤
- 4. Android Studio缺少Logcat中的異常堆棧跟蹤
- 5. eclipse中的堆棧跟蹤
- 6. logcat中缺少堆棧跟蹤
- 7. 重新顯示堆棧跟蹤窗口
- 8. log4j截斷堆棧跟蹤
- 9. log4j截斷堆棧跟蹤
- 10. 沒有堆棧跟蹤異常
- 11. Java異常處理和堆棧跟蹤
- 12. Resque:異常和堆棧跟蹤
- 13. ASM ByteCode - 異常的堆棧跟蹤
- 14. 檢索異常全堆棧跟蹤
- 15. 打印堆棧跟蹤元素異常
- 16. 異常堆棧跟蹤丟失項目
- 17. 打印異常的堆棧跟蹤
- 18. Java異常堆棧跟蹤不打印
- 19. JDBC Appender不寫異常堆棧跟蹤
- 20. PostSharp異常堆棧跟蹤未完成
- 21. 異常(堆棧跟蹤)在一行
- 22. 異常的空堆棧跟蹤
- 23. Eclipse控制檯不顯示Tomcat異常/堆棧跟蹤
- 24. 爲什麼android logcat不顯示運行時異常的堆棧跟蹤?
- 25. Javascript異常棧跟蹤
- 26. 從javascript堆棧跟蹤中查找Java實際堆棧跟蹤
- 27. Xcode - 斷言調用堆棧跟蹤?
- 28. 跟蹤堆棧外部庫eclipse
- 29. Eclipse插件的堆棧跟蹤
- 30. JUnit Eclipse - 成功顯示堆棧跟蹤
完整堆棧跟蹤?這是一個相當奇怪的行爲...你能提供一個輸出示例來切斷堆棧跟蹤嗎? *編輯*:我沒有看到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