2011-09-28 134 views
0

我是新來的Android框架(使用Eclipse),我有一個關於調試的問題。最近我在一個活動中做了這個錯誤:如何調試Android項目

// The installation button 
Button button = (Button) findViewById(R.id.preparationInstallButtonID); 
button.setOnClickListener(this); 

setContentView(R.layout.preparation); 

即我試圖在佈局渲染之前添加一個onclick事件。這使程序崩潰,「對不起,應用程序xxx已意外停止」。在調試模式下再次運行它,Eclipse打開一個包含「Thread < 3>(Suspended)」等的調試窗口(我相信你知道我在說哪個窗口)。

現在,我怎麼能夠在這裏提取有用的數據?關於上面的問題,我發現如何通過反覆試驗來修復它,但是讓我們說我無法做反覆試驗,調試窗口如何幫助我找到錯誤的根源?它說「異常RuntimeException」,但我沒有看到任何指針,在我的代碼中發生異常的地方。

+0

您應該能夠在logcat窗口中看到您的調用堆棧的回溯。它可能會以紅色打印。用它來確定哪個方法拋出異常。 –

回答

2

使用LogCat這會給你錯誤信息和你的測試設備/模擬器中發生的一切。

窗口 - >顯示視圖 - >其他 - > logcat的

+0

嗨。我試過這個,但沒有運氣。看到這個Eclipse screendump: http://bos.hack。org:81/tmp/eclipse_debug.png 調試窗口顯示「RuntimeException」,但logcat沒有任何提示。 – bos

+0

LogCat將所有日誌類型顯示爲默認值,這就是很多東西。你可能想點擊(E)。這只是錯誤。即使發生錯誤,LogCat也能夠抓住事物,您的錯誤可能會在該列表上更高。它應該趕上它.. –

1

我強烈建議在一般的調試本教程。

http://www.vogella.com/articles/EclipseDebugging/article.html

它帶你穿越所有功能Eclipse提供了在該部門,是非常值得的時間。對於可能有所幫助的特定技巧,設置斷點(即,單擊代碼的左邊緣以使其中一個藍色針腳出現)可能是有用的。然後,當在調試中運行時,您可以在發生問題的地方靠近並停止,並在調試窗口頂部使用「step into」,「step forward」和「step return」命令前進, 。當您以這種方式繞過代碼時,您可能會打開變量窗口,以便您可以查看應該以什麼方式設置的內容等。

或者,您可以在RuntimeException上設置斷點(即使是被捕獲的),通過在調試中點擊斷點窗口,然後舔「J!」按鈕(鼠標懸停文字顯示「添加Java異常斷點。」

調試視圖,可以做其它很酷的東西太多,如:

  • 讓您設置「觀察點」,所以你可以看到,當應用程序變化相關領域等
  • 「刪除幀」,因此您可以在中間開始您的應用程序。
  • 設置步驟的過濾器,讓「步進」通過我前面提到,可以更有效地完成。
  • 創建一個細節格式化程序,這是構成的一小段Java代碼ats字段的輸出,以便您可以在調試器中更清晰地查看它。
  • 還有更多!

同樣,我推薦上面參考的教程。歡迎來到美妙的調試世界。

+0

我有點困惑的downvote。問題是,我如何從eclipse **中的調試頁面提取有用的數據**。相互競爭的答案基本上說,使用logcat(通常在主視圖中),ddms視圖等,因此並沒有真正解決這個問題。 –

3

如果您想調試: 右鍵單擊您想要調試的代碼部分的左側(在行號)。選擇切換斷點。

enter image description here

你可以看到行號旁邊的小圓圈,那就是斷點。

enter image description here

然後,使運行配置,單擊運行圖標旁邊的小箭頭,然後單擊 '運行配置..'

enter image description here

點擊Android應用程序,你會看到這個對話框窗口:

enter image description here

讀它,「highlig ht「這樣:'按新的按鈕創建所選類型的配置'。單擊新建按鈕,標籤上面,你會看到這個對話框:

enter image description here

填充它,瀏覽你的項目,

enter image description here

例如,我添加了美味的項目,並啓動默認活動。點擊Target Tab,選擇您的模擬器。如果您想在物理設備上運行,請點擊「始終提示選擇設備」。我在這個時候物理設備爲共同選項卡上運行,

enter image description here

,如果也許你想在收藏菜單,檢查顯示爲「調試」或「運行」選項。這是可選的。點擊應用。

enter image description here

點擊調試圖標 - 並選擇您的項目。如果您在「收藏夾」菜單中的「顯示」中激活「調試」,該項目將顯示在調試選項菜單中。

enter image description here

我選擇「總是提示來接設備」,該對話框會顯示。我想在物理設備上運行,因此我在「選擇正在運行的Android設備」上單擊該設備,然後單擊「確定」。您也可以在仿真器上運行。只需點擊你的模擬器,然後點擊確定。

enter image description here

如果日食給予確認打開的角度來看,選擇是

enter image description here

然後,如果你想知道什麼是變量的值,只要把你的鼠標的實例變量,或者您可以在「調試」透視圖的「變量」窗口中瀏覽。

enter image description here