2011-02-16 86 views
3

好的,我終於把足夠多的工作部分拼湊到了我的應用程序中,以至於它現在只是普通的舊的拒絕做任何事情。我明白如何使用logcat,但這是關於它的。Android調試,如何?

目前的主要問題是,我得到的錯誤

活動空閒超時HistoryRecord然後我的包

我需要學習如何做更好的調試。此外,如果任何人都可以建議我應該爲這個錯誤做的事情,請讓我知道。 我認爲它與數據庫的交互有關。

乾杯

編輯:

你在使用中,如果任何IDE?帶有Android工具的Eclipse有 中等不錯的調試設施; 設置斷點並調試。

我正在使用Eclipse 而且我知道斷點,但不知道它們的實際用途。我會在哪裏設置這個錯誤?

我習慣於PHP,其中的錯誤告訴你一個具體的行看看有沒有辦法在Eclipse中做到這一點?

+0

你用什麼IDE,如果有的話?帶有Android工具的Eclipse具有相當不錯的調試設施;設置一個斷點並進行調試。 – 2011-02-16 17:26:43

+0

@Seva Aleseyev編輯主帖回答。 – Somk 2011-02-16 17:31:12

回答

3

在Eclipse中,如果您的權利在空白處單擊代碼旁 - 容易開始的地方可能是在你的onCreate方法 - 你可以選擇切換斷點。這將在該位置設置斷點。

現在,在Eclipse中選擇Run-> Debug As-> Android Application。

這將在模擬器中運行您的應用程序,並在您的應用程序中停止運行在您的斷點處。在這一點上,您可以使用F6逐行執行代碼,我相信。

一旦你命中斷點和代碼暫停時,使用這樣http://www.ibm.com/developerworks/library/os-ecbug/指南將突出所有不同的東西,你可以在這一點上做的。

0

Max ...如果您可以在try catch中包裝有問題的代碼行,您可以記錄異常或在異常處設置斷點。因此,對於下面的代碼將拋出一個異常:

String test= null; 
try { 
test.length(); 
} 
catch (Exception e) { 
    Log.d(TAG,"test",e); 
} 

logcat中會顯示測試顯示java.lang.NullPointerException胡說,胡說,胡說

或者你可以在Log.d行設置斷點和如果打在調試模式下的應用程序將暫停,並在調試視圖變量窗口將顯示:

this:MyApp e:NullPointerException 

,但它聽起來並不像你的應用程序是拋出一個異常,相反,它是在一個數據庫調用超時。我會將調用存入數據庫並查看超時是否消失。然後慢慢添加代碼直到超時。

JAL