2011-03-10 90 views
1

我得到的錯誤:我如何診斷Android的問題?

對不起!
應用程序{name}(process {package})意外停止。請再試一次。

應用程序從互聯網(我的服務器)獲取一些數據,然後解析它從XML中獲取數據。如果數據每次都是相同的,程序不會崩潰(每次獲取或填充空)。但是,即使變量未設置爲final,數據更改時也會崩潰,並在每個實例上指定「new」。

問題:是否可以從Android更全面地診斷問題?我沒有在控制檯中收到任何消息(在eclipse上鍊接到手機上進行實時開發)。

感謝您的幫助!

+3

請至少包含Logcat的追蹤。否則,診斷你的問題需要一個水晶球。 – 2011-03-10 18:29:08

+0

在你的cmd提示符下鍵入ddms。 – Reno 2011-03-10 18:33:07

+0

問題解決了,這是我非常愚蠢的使用Android內部的線程。我刪除了線程並解決了問題。然而,這仍然是一個有效的問題,因爲如果錯誤消息相當無用,如果它們完全存在,如何最好地調試android。 – Dech 2011-03-10 19:04:40

回答

1

要診斷Android中的問題,查看Logcat輸出非常重要。這是所有Android應用程序的標準輸出。如果這不能幫助您考慮在有問題的代碼部分中使用try/catch塊,或者我還會建議註冊全局的UncaughtExceptionHandler,以捕獲無處可查的其他異常。

+0

謝謝,當我得到一個空餘時間時,我會嘗試UncaughtExceptionHandler,但我自己仍然在處理這個問題。感謝您的提示:) – Dech 2011-03-10 18:56:53

1

您可以添加try/catch子句或者典型的Log.e消息,無論您感覺它崩潰並打印stackTrace。 如果鏈接到Eclipse,則應該顯示調試消息(除非您將清單功能設置爲不可調試)。

+0

我的代碼充滿了try和catch的一切,沒有錯誤被拋出,據我所知只是一個未知的bug。我一直在評論大塊,試圖找到問題的確切位置,至少我現在知道'錯誤的功能',但沒有解決如何解決它。 – Dech 2011-03-10 18:55:12

0

要做的一件事就是看看有效的數據和沒有的數據,並注意不同之處。然後,在工作的XML中,添加一行不起作用的xml。逐行執行以確定哪些部分(如果有的話)會導致錯誤。這是假設你的代碼沒問題,但是發送的數據是錯誤的。

嗯,在執行此操作之前,請確保它是數據問題而不是代碼。

+0

XML工作正常,我已經解決了問題在於另一個功能。現在正在努力確定問題。 – Dech 2011-03-10 18:58:08