在eclipse中進(jìn)行調(diào)試

在eclipse中進(jìn)行調(diào)試

ID:11725014

大小:283.00 KB

頁數(shù):6頁

時間:2018-07-13

在eclipse中進(jìn)行調(diào)試_第1頁
在eclipse中進(jìn)行調(diào)試_第2頁
在eclipse中進(jìn)行調(diào)試_第3頁
在eclipse中進(jìn)行調(diào)試_第4頁
在eclipse中進(jìn)行調(diào)試_第5頁
資源描述:

《在eclipse中進(jìn)行調(diào)試》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、4.4在Eclipse中進(jìn)行調(diào)試(1)4.4?在Eclipse中進(jìn)行調(diào)試Eclipse為調(diào)試運行中的Java應(yīng)用程序提供了完善的環(huán)境。當(dāng)在主機模式下運行GWT應(yīng)用程序時,Eclipse會將它作為一個Java應(yīng)用程序來運行,而且開發(fā)者可以在Eclipse中調(diào)試這個GWT應(yīng)用程序。對于Ajax開發(fā)過程來說,能夠調(diào)試基于瀏覽器的Web應(yīng)用程序的確是一種巨大的進(jìn)步。本章前面,我們看到使用applicationCreator腳本和-eclipse選項來創(chuàng)建應(yīng)用程序時,會自動地創(chuàng)建一個Eclipse啟動配置文件。然后,通過Eclipse就能在主機模式下用Run或Debug

2、命令來啟動該應(yīng)用程序。啟動以后,主機模式瀏覽器仍然與Eclipse保持連通,并且能夠使用Eclipse的調(diào)試命令。首先,我們從斷點講起。斷點是指在代碼中設(shè)置的一個位置,當(dāng)執(zhí)行到該位置時,應(yīng)用程序會中斷運行并將控制權(quán)轉(zhuǎn)交給調(diào)試器。這樣,我們就能夠觀察變量的狀態(tài)或者逐行地執(zhí)行代碼以便于分析程序流。為了示范斷點的應(yīng)用,可以在HelloWorld應(yīng)用程序中按鈕的ClickListener.onClick方法的第一個行添加一個斷點。設(shè)置方法是在編輯器中該行的左側(cè)邊空區(qū)域單擊右鍵,選擇ToggleBreakpoint,如圖4-24所示。?圖4-24設(shè)置斷點這時,我們能夠在

3、左側(cè)邊空區(qū)域上看到由一個藍(lán)色圓點圖標(biāo)表示的斷點。而通過在該邊空區(qū)域上雙擊同一個點可以切換斷點?,F(xiàn)在,當(dāng)調(diào)試應(yīng)用程序時,Eclipse會在程序執(zhí)行到斷點時接管調(diào)節(jié)器。對于HelloWorld這個例子而言,就是在單擊按鈕的時候程序會發(fā)生中斷。下面,單擊工具欄上的Bug圖標(biāo),打開Debug菜單,從中選擇HelloWorld,如圖4-25所示。?圖4-25啟動調(diào)試器當(dāng)在主機模式瀏覽器中打開HelloWorld時,單擊ClickMe按鈕,就能夠看到Eclipse顯示的調(diào)試器。此時,應(yīng)該看到Eclipse處于Debug透視圖模式,如圖4-26所示。假如你打算構(gòu)建像樣的Aj

4、ax應(yīng)用程序,那么就應(yīng)該學(xué)會使用這個視圖。在這個視圖中,能夠看到應(yīng)用程序運行時的各個方面。如果應(yīng)用程序運行出現(xiàn)了問題,那么可以通過設(shè)置斷點來查找原因。JavaScript開發(fā)者可能會對這種調(diào)試工具感到比較陌生,因為它看起來似乎很復(fù)雜。然而,因為這個工具能夠節(jié)省大量查找錯誤的時間,所以掌握它的使用是非常有必要的。同過去要打印和分析日志相比,在這里只需設(shè)置幾個斷點然后單步調(diào)試,甚至每次只執(zhí)行一行代碼,與此同時可以檢查變量的值并確定錯誤所在。下面介紹Debug透視圖中的一些工具。首先,看一看Debug窗格上方的一排按鈕。其中,綠色的箭頭和紅色的方塊分別表示Resum

5、e(繼續(xù))和Terminate(終止)。單擊Resume可以繼續(xù)執(zhí)行程序。在圖4-26中,程序在斷點處停止了執(zhí)行。而單擊Terminate按鈕則會終止調(diào)試會話。一般來說,我們都通過關(guān)閉主機模式瀏覽器的窗口來結(jié)束程序。但在斷點模式下,應(yīng)用程序處于停止?fàn)顟B(tài),因而無法訪問主機模式瀏覽器的界面。此時,結(jié)束程序的唯一方法就是使用Terminate按鈕。在Resume和Terminate按鈕旁邊的黃色箭頭,用于單步調(diào)試應(yīng)用程序。當(dāng)應(yīng)用程序停止在一個斷點處時,可以一步一步地執(zhí)行代碼。這樣,開發(fā)者就能夠看到執(zhí)行每一步代碼對變量所產(chǎn)生的影響。從另一個角度來說,這相當(dāng)于延長了程序

6、的執(zhí)行時間,從而使開發(fā)者能夠通過“慢鏡頭”來觀察程序的執(zhí)行流。第一個步進(jìn)按鈕是StepInto,單擊該按鈕會調(diào)用當(dāng)前行的下一個方法。一般來說,這會導(dǎo)致執(zhí)行流轉(zhuǎn)移到另一個方法中,同時在堆棧中添加一行。當(dāng)希望程序的執(zhí)行流進(jìn)入一個方法時,可以使用這個按鈕。如果不想進(jìn)入另一個方法,可以使用下一個步進(jìn)按鈕StepOver,這個按鈕用于執(zhí)行當(dāng)前代碼行、調(diào)用任何方法并停止在當(dāng)前方法中的下一行。第三個黃色的按鈕是StepReturn,它用來執(zhí)行當(dāng)前方法中其他的代碼并返回調(diào)用方法,然后停止。?圖4-26Eclipse中的調(diào)試透視圖4.4在Eclipse中進(jìn)行調(diào)試(2)在調(diào)試控件

7、的下方是調(diào)用堆棧。事實上,這就是一個Java應(yīng)用程序中線程的樹形列表,而相應(yīng)的堆棧則是這個列表中的子項目。只有當(dāng)線程停止在一個斷點處時,才會出現(xiàn)這些堆棧。Ajax應(yīng)用程序是單線程的,因此我們只需關(guān)注其中的一個線程和相應(yīng)的堆棧即可。當(dāng)解釋程序在onClick方法中遇到斷點時,單個JavaScript線程會顯示出它的方法調(diào)用堆棧,而當(dāng)前方法被突出顯示。通過這個堆棧窗格,能夠很方便地看出某個方法是在何時以及何處被調(diào)用的。通過單擊其他方法,可以在編輯器中查看它們的代碼。當(dāng)以這種方式瀏覽堆棧時,Debug透視圖會自動調(diào)整以反映堆棧中當(dāng)前選中的行。例如,編輯器會顯示選中方

8、法中調(diào)用子方法的那行代碼。當(dāng)然,變量瀏

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。