![在Eclipse中使用debug(Eclipse調(diào)試常用技巧)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a85b4adb-6702-4b47-8e52-4df9d5211555/a85b4adb-6702-4b47-8e52-4df9d52115551.gif)
![在Eclipse中使用debug(Eclipse調(diào)試常用技巧)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a85b4adb-6702-4b47-8e52-4df9d5211555/a85b4adb-6702-4b47-8e52-4df9d52115552.gif)
![在Eclipse中使用debug(Eclipse調(diào)試常用技巧)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a85b4adb-6702-4b47-8e52-4df9d5211555/a85b4adb-6702-4b47-8e52-4df9d52115553.gif)
![在Eclipse中使用debug(Eclipse調(diào)試常用技巧)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a85b4adb-6702-4b47-8e52-4df9d5211555/a85b4adb-6702-4b47-8e52-4df9d52115554.gif)
![在Eclipse中使用debug(Eclipse調(diào)試常用技巧)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/a85b4adb-6702-4b47-8e52-4df9d5211555/a85b4adb-6702-4b47-8e52-4df9d52115555.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Eclipse調(diào)試常用技巧1、 條件斷點(diǎn) 斷點(diǎn)大家都比較熟悉,在EclipseJava 編輯區(qū)的行頭雙擊就會得到一個斷點(diǎn),代碼會運(yùn)行到此處時停止。 條件斷點(diǎn),顧名思義就是一個有一定條件的斷點(diǎn),只有滿足了用戶設(shè)置的條件,代碼才會在運(yùn)行到斷點(diǎn)處時停止。 在斷點(diǎn)處點(diǎn)擊鼠標(biāo)右鍵,選擇最后一個BreakpointProperties 斷點(diǎn)的屬性界面及各個選項的意思如下圖, 2、 變量斷點(diǎn) 斷點(diǎn)不僅能打在語句上,變量也可以接受斷點(diǎn), 上圖就是一個變量的打的斷點(diǎn),在變量的值初始化,或是變量值改變時可以停止,當(dāng)然變量斷點(diǎn)上也是可以加條件的,和上面的介紹的條件斷點(diǎn)的設(shè)置是一樣的。 3、 方法斷點(diǎn) 方法斷點(diǎn)就是將
2、斷點(diǎn)打在方法的入口處, 方法斷點(diǎn)的特別之處在于它可以打在 JDK的源碼里,由于 JDK 在編譯時去掉了調(diào)試信息,所以普通斷點(diǎn)是不能打到里面的,但是方法斷點(diǎn)卻可以,可以通過這種方法查看方法的調(diào)用棧。 4、 改變變量值 代碼停在了斷點(diǎn)處,但是傳過來的值不正確,如何修改一下變量值保證代碼繼續(xù)走正確的流程,或是說有一個異常分支老是進(jìn)不去,能不能調(diào)試時改一下條件,看一下異常分支代碼是否正確? 在Debug 視圖的 Variables 小窗口中,我們可以看到 mDestJarName 變量的值為 F:StudyeclipseproJarDirjarHelp.jar 我們可以在變量上右鍵,選擇ChangeV
3、alue. 在彈出的對話框中修改變量的值, 或是在下面的值查看窗口中修改,保用Ctr+S 保存后,變量值就會變成修改后的新值了。 5、 重新調(diào)試 這種調(diào)試的回退不是萬能的,只能在當(dāng)前線程的棧幀中回退,也就說最多只能退回到當(dāng)前線程的調(diào)用的開始處。 回退時,請在需要回退的線程方法上點(diǎn)右鍵,選擇 DroptoFrame 6、 遠(yuǎn)程調(diào)試 用于調(diào)試不在本機(jī)上的程序,有兩種方式, 1、本機(jī)作為客戶端2、本機(jī)作為服務(wù)端使用遠(yuǎn)程調(diào)試的前提是服務(wù)器端和客戶端的代碼是一致的。本機(jī)作為客戶端本機(jī)作客戶端比較常用,需要在遠(yuǎn)端的服務(wù)器上的java程序在啟動時打開遠(yuǎn)程調(diào)試開關(guān),服務(wù)器端需要加上虛擬機(jī)參數(shù)1.5以前版本(1
4、.5以后也可用):【-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 】1.5及以上版本:【 -agentlib:jdwp=transport=dt_socket,server=y,address=8000】F:Studyeclipseproscreensnapjava -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar screensnap3.jar連接時遠(yuǎn)程服務(wù)器時,需要在Eclipse中新建一個遠(yuǎn)程調(diào)試程序這里有一個小地方需注意,連接上的時候
5、貌似不能自動切換到Debug視圖,不要以為本機(jī)的調(diào)試程序沒有連接到服務(wù)器端。本機(jī)作為服務(wù)端同本機(jī)作為客戶端相比,只需要修改一下“Connection Type”這時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:Studyeclipseproscreensnapjava -agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000
6、 -jar screensnap3.jar遠(yuǎn)程調(diào)試時本地的代碼修改可同步到遠(yuǎn)程,但不會寫到遠(yuǎn)程的文件里,也就是說本地修改會在下次啟動遠(yuǎn)程程序時就沒有了,不會影響到下次使用時的遠(yuǎn)程代碼。有關(guān)遠(yuǎn)程調(diào)試更詳細(xì)點(diǎn)的介紹請參考【使用 Eclipse 遠(yuǎn)程調(diào)試 Java 應(yīng)用程序】 好像漏了一個斷點(diǎn),異常斷點(diǎn),補(bǔ)一下。7、異常斷點(diǎn)經(jīng)常遇見一些異常,然后程序就退出來了,要找到異常發(fā)生的地方就比較難了,還好可以打一個異常斷點(diǎn),上圖中我們增加了一個NullPointException的異常斷點(diǎn),當(dāng)異常發(fā)生時,代碼會停在異常發(fā)生處,定位問題時應(yīng)該比較有幫助。8、遠(yuǎn)程調(diào)試不太了解,能詳細(xì)講講嘛?遠(yuǎn)程調(diào)試還真有用,
7、記得有一次, 本地環(huán)境沒錯誤,可一到測試環(huán)境就有問題了,最后還是用戶遠(yuǎn)程調(diào)試! 馬上就見效了呵呵!主要作用:大部分問題在開發(fā)環(huán)境已經(jīng)解決了,可有時在生產(chǎn)環(huán)境(當(dāng)然大部分時候是在現(xiàn)場與生產(chǎn)環(huán)境幾乎一樣的測試環(huán)境上遠(yuǎn)程調(diào)試)偏偏出現(xiàn)問題,通過日志又不好找到原因或者在開發(fā)環(huán)境無法重現(xiàn),這時在遠(yuǎn)程服務(wù)器上開啟遠(yuǎn)程調(diào)試端口,你在本地通過IP,調(diào)試端口在本地打斷點(diǎn),當(dāng)生產(chǎn)環(huán)境執(zhí)行到你打斷點(diǎn)的代碼時,你本地就進(jìn)入了調(diào)試,可以查看遠(yuǎn)程代碼中的一些變量值等。也借此找出問題所在。這個還真沒試過,需要對方也有eclipse或源碼嗎?客戶那里通常都是部署war包無源碼。不需要對端有源碼,也不需要對端有Eclipse,
8、只要對端有部署的java包就好,只需要本端有就可以了,就像你說的對端也是基本上不會有源碼的。需注意對端的java包中的類文件需要和本地源碼一致,不然調(diào)試時會行錯亂。9、遠(yuǎn)程調(diào)試的端口是根據(jù)容器的開啟的端口來選擇的吧?像JBoss的端口為8787,run.bat和run.sh當(dāng)中配置。答:端口是用戶自己選擇的,不管是普通應(yīng)用還是Web應(yīng)用,像Tomcat和JBoss這類容器也是一樣的,會通過文中提到的方式打開遠(yuǎn)程調(diào)試,默認(rèn)端口的配置是8000還是8787并不重要,用戶可以自己修改,關(guān)鍵是兩端的端口保持一致。10、有時候,非遠(yuǎn)程調(diào)試不行。 1.不能在本機(jī)配置運(yùn)行環(huán)境,只能通過遠(yuǎn)程調(diào)試才能定位bug
9、。 2.時間緊,沒有時間在本機(jī)配置運(yùn)行環(huán)境。打開server的端口,調(diào)之,改之,替換相應(yīng)錯誤文件就ok。 3.懶人,不愿意配置本機(jī)開發(fā)環(huán)境,也可以遠(yuǎn)程調(diào)試。替換相應(yīng)錯誤文件,不要重啟服務(wù)器嗎?這樣不是也很麻煩?遠(yuǎn)程調(diào)試依然可以進(jìn)行代碼的熱替換,修改完成本地的代碼,遠(yuǎn)程機(jī)會相應(yīng)修改,只會修改內(nèi)存中的。11、有時候程序會這么寫:Java代碼returnfunction(x,y);return function(x,y);這時候調(diào)試想看到底返回啥了,有辦法看不? 我的做法是:增加一個臨時變量Java代碼1. a=function(x,y); 2. returna;a = function(x,y);return a;然后斷點(diǎn)看,不過還挺麻煩的。答:這個可以選中函數(shù),右鍵,然后選Inspect,或使用快捷鍵Ctrl+Shift+I。12、也是關(guān)于遠(yuǎn)程調(diào)試的問題,就是如果打包進(jìn)行混淆了,就無法就行遠(yuǎn)程調(diào)試了,不知樓主有無好的解決辦法?答:遠(yuǎn)調(diào)有一個問題就是本地代碼要和遠(yuǎn)程機(jī)上的代碼一致,而且在編譯時需要帶行號編譯,不然無法找到Class類對應(yīng)的源代碼中的行號信息,也就不確定斷點(diǎn)停在代碼的什么地方了。13、遠(yuǎn)程調(diào)試很有用,如果真能像本地代碼一樣調(diào)試的話,則沒有必要沒次很麻煩上服務(wù)器看錯誤日志了。答:如果能保證兩邊的代碼基本一致的話是可以的,而且需要遠(yuǎn)程的代碼在運(yùn)行時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版小學(xué)語文2021年真卷四年級下冊期末試卷(含答案)
- 綠化管理合同(2篇)
- 新版北師版一年級下冊數(shù)學(xué)課件六 有趣的平面圖形(一)第5課時 拼圖大挑戰(zhàn)
- 電動汽車充電設(shè)施的智能調(diào)度系統(tǒng)研究
- 外研版高中英語選擇性必修第四冊UNIT2 Period5課件
- 一建《法規(guī)及相關(guān)知識》試題庫資料練習(xí)含【參考答案-】卷28
- Module8練習(xí)(單元測試)英語四年級下冊-外研版(一起)(含答案)
- 企業(yè)預(yù)核名申請書
- 汽車工業(yè)中生物質(zhì)能的前沿技術(shù)與突破
- 2025年中國加油站行業(yè)市場運(yùn)行現(xiàn)狀及投資規(guī)劃建議報告
- 醫(yī)療器械考試題及答案
- 《中國移動》課件
- 四新安全管理
- 膿包瘡護(hù)理查房
- 《信號工程施工》課件 項目一 信號圖紙識讀
- 設(shè)備日常維護(hù)及保養(yǎng)培訓(xùn)
- 設(shè)計院個人年終總結(jié)
- 中石油高空作業(yè)施工方案
- 避孕藥具知識培訓(xùn)
- 醫(yī)保違規(guī)檢討書
- 鋼結(jié)構(gòu)實(shí)習(xí)報告
評論
0/150
提交評論