在Eclipse中使用調(diào)試程序最基本的操作是:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了甘德免費(fèi)建站歡迎大家使用!
1.首先在一個java文件中設(shè)斷點(diǎn),然后debug as--open debug Dialog,然后在對話框中選類后-- Run
當(dāng)程序走到斷點(diǎn)處就會轉(zhuǎn)到debug視圖下。
2.F5鍵與F6鍵均為單步調(diào)試,F(xiàn)5是step into,也就是進(jìn)入本行代碼中執(zhí)行,F(xiàn)6是step over,
也就是執(zhí)行本行代碼,跳到下一行,
3.F7是跳出函數(shù)
4.F8是執(zhí)行到最后。
1.Step Into (also F5) 跳入
2.Step Over (also F6) 跳過
3.Step Return (also F7) 執(zhí)行完當(dāng)前method,然后return跳出此method
4.step Filter 逐步過濾 一直執(zhí)行直到遇到未經(jīng)過濾的位置或斷點(diǎn)(設(shè)置Filter:window-preferences-java-Debug-step Filtering)
5.resume 重新開始執(zhí)行debug,一直運(yùn)行直到遇到breakpoint
6.hit count 設(shè)置執(zhí)行次數(shù) 適合程序中的for循環(huán)(設(shè)置 breakpoint view-右鍵hit count)
7.inspect 檢查 運(yùn)算。執(zhí)行一個表達(dá)式顯示執(zhí)行值
8.watch 實(shí)時地監(jiān)視變量的變化
9.我們常說的斷點(diǎn)(breakpoints)是指line breakpoints,除了line breakpoints,還有其他的斷點(diǎn)類型:field(watchpoint)breakpoint,method breakpoint,exception breakpoint.
10.field breakpoint 也叫watchpoint(監(jiān)視點(diǎn)) 當(dāng)成員變量被讀取或修改時暫掛
11.添加method breakpoint 進(jìn)入/離開此方法時暫掛(Run-method breakpoint)
12.添加Exception breakpoint 捕抓到Execption時暫掛(待續(xù)...)
斷點(diǎn)屬性:
1.hit count 執(zhí)行多少次數(shù)后暫掛 用于循環(huán)
2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛
3.suspend thread 多線程時暫掛此線程
4.suspend VM 暫掛虛擬機(jī)
13.variables 視圖里的變量可以改變變量值,在variables 視圖選擇變量點(diǎn)擊右鍵--change value.一次來進(jìn)行快速調(diào)試。
14.debug 過程中修改了某些code后--〉savebuild--resume--重新暫掛于斷點(diǎn)?JSP的調(diào)試:1.將tomcat以debug的模式啟動。(java web servers)
2.選擇要調(diào)試的jsp,open with jsp editor
3.選擇jsp文件,debug。出現(xiàn)ajax插件,直接點(diǎn)就行了
1. 遠(yuǎn)程debug調(diào)試java代碼
1.1 主動連接調(diào)試
首先需要遠(yuǎn)程服務(wù)配置啟動腳本:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000"
如果是啟動jar包,指令:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
這里-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)來運(yùn)行調(diào)試環(huán)境。
transport是監(jiān)聽Socket端口連接方式(也可以dt_shmem共享內(nèi)存方式,但限于windows機(jī)器,并且服務(wù)提供端和調(diào)試端只能位于同一臺機(jī))。
server=y表示當(dāng)前是調(diào)試服務(wù)端,=n表示當(dāng)前是調(diào)試客戶端。suspend=n表示啟動時不中斷(如果啟動時中斷,一般用于調(diào)試啟動不了的問題)。
address=8000表示本地監(jiān)聽8000端口。
遠(yuǎn)程服務(wù)(tomcat/jboss)啟動成功后,本地Eclipse對需要調(diào)試的地方打上斷點(diǎn),
然后項(xiàng)目右鍵啟動遠(yuǎn)程調(diào)試:Debug as-Debug Configurations-Remote Java Application。
Host為遠(yuǎn)程主機(jī)IP,Port為遠(yuǎn)程監(jiān)聽調(diào)試端口,Connection Type為:Standard(Socket Attach),
點(diǎn)擊Debug,然后打斷點(diǎn),遠(yuǎn)程服務(wù)運(yùn)行到斷點(diǎn)處本地就會中斷,然后進(jìn)行調(diào)試。
1.2 被動連接調(diào)試
首先需要Eclipse配置監(jiān)聽,如主動連接調(diào)試的Eclipse配置圖片,Connection Type選擇:
Standard(Socket Listen),配置本地監(jiān)聽端口,比如默認(rèn)8000。點(diǎn)擊Debug開始等待遠(yuǎn)程連接調(diào)試。
然后配置遠(yuǎn)程服務(wù)啟動腳本:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y"
如果是調(diào)試jar包,指令:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8000,suspend=y -jar remoting-debug.jar
參數(shù)含義和主動連接調(diào)試一樣,只是這里suspend=y表示啟動時就中斷,需要連接本地IDE調(diào)試啟動。
address=ip:port,ip需要修改為本地的對外IP。
這樣遠(yuǎn)程項(xiàng)目啟動時就連接到本地,方便調(diào)試項(xiàng)目啟動不了的問題。
步驟
首先打開eclipse,打開java源文件 如圖:
在需要測試的代碼行左側(cè)行號列上雙擊,生成斷點(diǎn) ,再次雙擊可以取消斷點(diǎn) 如圖:
然后右鍵,選擇Debug As-Java Application,(注意,不是選擇Run As)
開始調(diào)試java程序 如圖
有可能會彈出提示框(表示是否進(jìn)入調(diào)試視圖)點(diǎn)擊確定就可以了
然后會進(jìn)行調(diào)試視圖,如圖:
左側(cè)上部是整個正常線程執(zhí)行情況,右側(cè)上部是剛才設(shè)置斷點(diǎn)的行號列表.
在左側(cè)上部有幾個按鈕需要注意如圖:
這些按鈕就是我們調(diào)試時的控制按鈕 分別表示:
step into(快捷鍵F5)進(jìn)入當(dāng)前行的方法內(nèi)部,一步一步執(zhí)行
step return (快捷鍵F7)返回上一步執(zhí)行的方法(相對應(yīng)F5)
step over(快捷鍵F6)執(zhí)行當(dāng)前行,但不進(jìn)入執(zhí)行細(xì)節(jié)
resume (快捷鍵F8)恢復(fù)執(zhí)行,表示接著執(zhí)行代碼,直接跳到下一個斷點(diǎn)
terminate 停止調(diào)試
常用調(diào)試方法:按F8跳到下一個斷點(diǎn)執(zhí)行 如果需要查詢執(zhí)行細(xì)節(jié)F5F6F7等
取消斷點(diǎn)的話:在右側(cè)上部的斷點(diǎn)列表區(qū)取消選擇或刪除當(dāng)前斷點(diǎn)即可
文章標(biāo)題:java代碼部分調(diào)試,java代碼調(diào)試工具網(wǎng)頁版
網(wǎng)頁路徑:http://vcdvsql.cn/article18/hsphgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、云服務(wù)器、服務(wù)器托管、網(wǎng)站策劃、網(wǎng)站排名、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)