最基本的操作是:
創(chuàng)新互聯(lián)專注于中大型企業(yè)的網(wǎng)站制作、網(wǎng)站設(shè)計和網(wǎng)站改版、網(wǎng)站營銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開發(fā)的融合,累計客戶上1000+,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站制作和互聯(lián)網(wǎng)程序開發(fā),在前進(jìn)的路上,與客戶一起成長!
1.首先在一個java文件中設(shè)斷點,然后debug as--open debug Dialog,然后在對話框中選類后-- Run
當(dāng)程序走到斷點處就會轉(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)過濾的位置或斷點(設(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 實時地監(jiān)視變量的變化
9.我們常說的斷點(breakpoints)是指line breakpoints,除了line
breakpoints,還有其他的斷點類型:field(watchpoint)breakpoint,method
breakpoint,exception breakpoint.
10.field breakpoint 也叫watchpoint(監(jiān)視點) 當(dāng)成員變量被讀取或修改時暫掛
11.添加method breakpoint 進(jìn)入/離開此方法時暫掛(Run-method breakpoint)
12.添加Exception breakpoint 捕抓到Execption時暫掛(待續(xù)...)
斷點屬性:
1.hit count 執(zhí)行多少次數(shù)后暫掛 用于循環(huán)
2.enable condition 遇到符合你輸入條件(為ture\改變時)就暫掛
3.suspend thread 多線程時暫掛此線程
4.suspend VM 暫掛虛擬機(jī)
13.variables 視圖里的變量可以改變變量值,在variables 視圖選擇變量點擊右鍵--change value.一次來進(jìn)行快速調(diào)試。
14.debug 過程中修改了某些code后--〉savebuild--resume--重新暫掛于斷點
---------------------------------------------------------------------------------------------------------------------------------------------------------------
調(diào)試運(yùn)行的快捷鍵:
Shift+Alt+D 彈出菜單后按J:Java程序調(diào)試
Shift+Alt+D 彈出菜單后按R:在Web Server上調(diào)試
Shift+Alt+D 彈出菜單后按Q:Ant Build調(diào)試
調(diào)試過程中的快捷鍵:
F6:單步執(zhí)行Step Over。 通常如果不關(guān)心該語句的調(diào)用細(xì)節(jié),單步執(zhí)行就可以了。
F5:跟入Step into。一般會跟蹤進(jìn)入到調(diào)用函數(shù)的函數(shù)體,Step Over則不會跟蹤進(jìn)入,直接把調(diào)用當(dāng)做一個語句處理。
F7:返回到調(diào)用處Step Return。如果無意Stepinto了一個不需要關(guān)心的函數(shù),或者沒有必要再對某個函數(shù)跟蹤了,直接F7返回到調(diào)用語句處。
F8:運(yùn)行至下一斷點Resume。
調(diào)試中需要關(guān)心的是斷點和變量。掌握一定的設(shè)置斷點技巧是必須的。
1、如何跳過一段循環(huán)
有的時候跟蹤代碼執(zhí)行,無意中進(jìn)入了循環(huán)中,看了幾次發(fā)現(xiàn)沒什么問題了。是不是要StepOver到循環(huán)結(jié)束呢,或許你會Step Return,那么循環(huán)下面的代碼就跟蹤不到了。這時候就要利用Resume這個有趣的特性了。
去掉舊斷點(循環(huán)體內(nèi)的),增加新斷點(循環(huán)體外),然后Resume(F8)。
2、如何調(diào)試遞歸調(diào)用
還是要巧用F7(StepReturn)、F8(Resume)這兩個鍵。
另外別忘了Debug模式中的Expressions視圖(Window-show view- Expressions)
把你關(guān)心的遞歸變量的表達(dá)式都add進(jìn)來吧,這樣看起來就比Variable輕松多了。
Expressions不僅支持顯示運(yùn)算結(jié)果、數(shù)組元素,還可以顯示方法返回值。你只需要將你關(guān)心的表達(dá)式寫進(jìn)來就可以了。
返回上一層遞歸,使用F7。跳過循環(huán)使用上面的方法。
還有巧設(shè)斷點。直接讓光標(biāo)運(yùn)行到你需要關(guān)注的地方。
在Expressions中添加能區(qū)分遞歸層次的表達(dá)式,這樣你看起來就不會亂(不知道調(diào)用到哪一層了)。
new BigInteger(num); 用法錯了。 new BigInteger(String.valueOf(num));
int num應(yīng)該放到try catch外否則不能調(diào)用
步驟
首先打開eclipse,打開java源文件 如圖:
在需要測試的代碼行左側(cè)行號列上雙擊,生成斷點 ,再次雙擊可以取消斷點 如圖:
然后右鍵,選擇Debug As-Java Application,(注意,不是選擇Run As)
開始調(diào)試java程序 如圖
有可能會彈出提示框(表示是否進(jìn)入調(diào)試視圖)點擊確定就可以了
然后會進(jìn)行調(diào)試視圖,如圖:
左側(cè)上部是整個正常線程執(zhí)行情況,右側(cè)上部是剛才設(shè)置斷點的行號列表.
在左側(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í)行代碼,直接跳到下一個斷點
terminate 停止調(diào)試
常用調(diào)試方法:按F8跳到下一個斷點執(zhí)行 如果需要查詢執(zhí)行細(xì)節(jié)F5F6F7等
取消斷點的話:在右側(cè)上部的斷點列表區(qū)取消選擇或刪除當(dāng)前斷點即可
Read 里有問題:
int Num = Integer.parseInt(b.readLine()); // 把字符串轉(zhuǎn)換成int
這句話不對。
readLine的用法你沒有理解。