在eclipse中使用debug(eclipse調(diào)試常用技巧)

在eclipse中使用debug(eclipse調(diào)試常用技巧)

ID:2034808

大?。?02.00 KB

頁數(shù):8頁

時(shí)間:2017-11-14

在eclipse中使用debug(eclipse調(diào)試常用技巧)_第1頁
在eclipse中使用debug(eclipse調(diào)試常用技巧)_第2頁
在eclipse中使用debug(eclipse調(diào)試常用技巧)_第3頁
在eclipse中使用debug(eclipse調(diào)試常用技巧)_第4頁
在eclipse中使用debug(eclipse調(diào)試常用技巧)_第5頁
資源描述:

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

1、Eclipse調(diào)試常用技巧發(fā)表時(shí)間:2010-04-06??最后修改:2010-11-26記得剛剛畢業(yè)的時(shí)候,自己連斷點(diǎn)也不會打,當(dāng)時(shí)還在用JCreate,就連畢業(yè)設(shè)計(jì)也是用System.out找Bug的,想想真的很笨。開始工作后,一個(gè)星期過去了,在一個(gè)1、2百萬行的系統(tǒng)中找Bug,我依然在用System.out,當(dāng)時(shí)最痛苦的就是修改代碼,每次找到疑似Bug,就輸出一下,然后重啟(那時(shí)也不知道代碼熱替換),直到有一天帶我的導(dǎo)師發(fā)現(xiàn)了這樣笨笨的調(diào)試Bug,才讓我第一次認(rèn)識了斷點(diǎn),也知道了代碼修改完了可以進(jìn)行熱替換,?我這個(gè)中國教育的半犧牲品才算向美好生活邁

2、進(jìn)了一小步。?1、條件斷點(diǎn)斷點(diǎn)大家都比較熟悉,在Eclipse?Java編輯區(qū)的行頭雙擊就會得到一個(gè)斷點(diǎn),代碼會運(yùn)行到此處時(shí)停止。條件斷點(diǎn),顧名思義就是一個(gè)有一定條件的斷點(diǎn),只有滿足了用戶設(shè)置的條件,代碼才會在運(yùn)行到斷點(diǎn)處時(shí)停止。在斷點(diǎn)處點(diǎn)擊鼠標(biāo)右鍵,選擇最后一個(gè)"Breakpoint?Properties"斷點(diǎn)的屬性界面及各個(gè)選項(xiàng)的意思如下圖,2、變量斷點(diǎn)斷點(diǎn)不僅能打在語句上,變量也可以接受斷點(diǎn),上圖就是一個(gè)變量的打的斷點(diǎn),在變量的值初始化,或是變量值改變時(shí)可以停止,當(dāng)然變量斷點(diǎn)上也是可以加條件的,和上面的介紹的條件斷點(diǎn)的設(shè)置是一樣的。3、方法斷點(diǎn)?方

3、法斷點(diǎn)就是將斷點(diǎn)打在方法的入口處,方法斷點(diǎn)的特別之處在于它可以打在JDK的源碼里,由于JDK在編譯時(shí)去掉了調(diào)試信息,所以普通斷點(diǎn)是不能打到里面的,但是方法斷點(diǎn)卻可以,可以通過這種方法查看方法的調(diào)用棧。4、改變變量值代碼停在了斷點(diǎn)處,但是傳過來的值不正確,如何修改一下變量值保證代碼繼續(xù)走正確的流程,或是說有一個(gè)異常分支老是進(jìn)不去,能不能調(diào)試時(shí)改一下條件,看一下異常分支代碼是否正確?在Debug視圖的Variables小窗口中,我們可以看到mDestJarName變量的值為"F:StudyeclipseproJarDirjarHelp.jar"我們可

4、以在變量上右鍵,選擇"Change?Value..."在彈出的對話框中修改變量的值,?或是在下面的值查看窗口中修改,保用Ctr+S保存后,變量值就會變成修改后的新值了。5、重新調(diào)試?這種調(diào)試的回退不是萬能的,只能在當(dāng)前線程的棧幀中回退,也就說最多只能退回到當(dāng)前線程的調(diào)用的開始處?;赝藭r(shí),請?jiān)谛枰赝说木€程方法上點(diǎn)右鍵,選擇"Drop?to?Frame"6、遠(yuǎn)程調(diào)試用于調(diào)試不在本機(jī)上的程序,有兩種方式,1、本機(jī)作為客戶端2、本機(jī)作為服務(wù)端使用遠(yuǎn)程調(diào)試的前提是服務(wù)器端和客戶端的代碼是一致的。?本機(jī)作為客戶端本機(jī)作客戶端比較常用,需要在遠(yuǎn)端的服務(wù)器上的java

5、程序在啟動時(shí)打開遠(yuǎn)程調(diào)試開關(guān),服務(wù)器端需要加上虛擬機(jī)參數(shù)1.5以前版本(1.5以后也可用):【-Xdebug-Xrunjdwp:transport=dt_socket,server=y,address=8000】1.5及以上版本:【-agentlib:jdwp=transport=dt_socket,server=y,address=8000】F:Studyeclipseproscreensnap>java-Xdebug-Xrunjdwp:transport=dt_socket,server=y,address=8000-jarscreensnap

6、3.jar連接時(shí)遠(yuǎn)程服務(wù)器時(shí),需要在Eclipse中新建一個(gè)遠(yuǎn)程調(diào)試程序這里有一個(gè)小地方需注意,連接上的時(shí)候貌似不能自動切換到Debug視圖,不要以為本機(jī)的調(diào)試程序沒有連接到服務(wù)器端。?本機(jī)作為服務(wù)端同本機(jī)作為客戶端相比,只需要修改一下“ConnectionType”?這時(shí)Eclipse會進(jìn)入到等待連接的狀態(tài)連接程序使用如下參數(shù)即可連接本機(jī)服務(wù)器,IP地址請用實(shí)現(xiàn)IP替換~~【-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000】F:Studyeclipseprosc

7、reensnap>java-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000-jarscreensnap3.jar?遠(yuǎn)程調(diào)試時(shí)本地的代碼修改可同步到遠(yuǎn)程,但不會寫到遠(yuǎn)程的文件里,也就是說本地修改會在下次啟動遠(yuǎn)程程序時(shí)就沒有了,不會影響到下次使用時(shí)的遠(yuǎn)程代碼。?有關(guān)遠(yuǎn)程調(diào)試更詳細(xì)點(diǎn)的介紹請參考【使用Eclipse遠(yuǎn)程調(diào)試Java應(yīng)用程序】??好像漏了一個(gè)斷點(diǎn),異常斷點(diǎn),補(bǔ)一下。7、異常斷點(diǎn)經(jīng)常遇見一些異常,然后程序就退出來了,要找到異常發(fā)生的地方就比較難了,還好可以打一個(gè)異

8、常斷點(diǎn),上圖中我們增加了一個(gè)NullPointException的異常斷點(diǎn),當(dāng)異

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

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

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