2009-12-26 14 views
0

我想我必須在這裏錯過一些非常基本的東西,但是如果我的程序死了,DDMS不會告訴我它死在哪條線上 - 所有堆棧引用都在Android源代碼中,並提供「未找到源」錯誤。Android DDMS可以顯示程序失敗的行嗎?

如果任何人都可以提供幫助,我會非常感激,因爲Android讓我瘋狂。

謝謝!

回答

1

我剛剛看到在LogCat窗口中報告了錯誤,而不是顯示實際運行程序的堆棧跟蹤。

哇,這是我用過的最令人困惑的SDK!

+1

LogCat報告您現在崩潰的活動異常的Java堆棧跟蹤。這與Java將你現在崩潰的應用程序的異常堆棧跟蹤轉儲到控制檯並沒有太大的不同。如果您不熟悉Java開發,那麼我絕對建議您在Android之外花費幾周時間在Java中工作,以便在深入瞭解Android本身之前熟悉堆棧跟蹤等。 – CommonsWare 2009-12-26 16:58:30

+0

非常感謝您的回答。 :) 我期待它在Eclipse窗口(它顯示Android操作系統的堆棧跟蹤)中顯示堆棧跟蹤,而不是在LogCat中 - 它也充滿了其他東西 - 這是其他Eclipse中的情況我用過的擴展。 我還期待SDK能夠在我的代碼中顯示發生異常的地方,而不是發現很多與Android源代碼有關的「未發現源」錯誤。這樣做看起來並不優雅或有用。 也許這是我可以對SDK做出的修改,如果它是開源的。 再次感謝! – Jumbo 2009-12-26 19:11:20

2

確保您查看完整的堆棧抓取 - 通常會有一個或多個「由...引發」子句,顯示內部異常在被框架(和重新拋出)捕獲之前被拋出的位置。因此,您的實際應用程序代碼可能會在「由......造成」行後被隱藏。

如果有絕對沒有在堆棧中抓取您的應用程序的代碼行數,那麼無論你的應用做一些原因造成的框架從它的代碼返回後拋出異常,或者你只是擊中了一個錯誤框架。無論哪種方式,提供實際的完整錯誤和正在打印到日誌的堆棧爬網需要能夠進一步幫助您。另外就DDMS和logcat而言 - DDMS輸出視圖只是同一個日誌的另一個客戶端,顯示與「logcat」相同的信息,只是格式有點不同(並且帶有交互式過濾選項等)。

相關問題