最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Eclipse設(shè)置斷點(diǎn)調(diào)試的方法

 更新時(shí)間:2017年09月11日 09:27:55   作者:maritimesun  
這篇文章主要介紹了Eclipse斷點(diǎn)調(diào)試的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

作為開(kāi)發(fā)人員,掌握開(kāi)發(fā)環(huán)境下的調(diào)試技巧十分有必要。去年就想把關(guān)于Eclipse斷點(diǎn)調(diào)試總結(jié)下了,由于對(duì)時(shí)間的掌控程度仍需極大提高,結(jié)果拖到今年才寫了此篇博文難過(guò)。關(guān)于java調(diào)試技術(shù)還有很多,如Java Debug Interface等,依據(jù)具體項(xiàng)目的需要,還有很多值得去研究和學(xué)習(xí)的。該博文僅就Eclipse斷點(diǎn)調(diào)試技巧做下總結(jié),不足夠的地方還請(qǐng)大牛們指點(diǎn)。

1  Debug視圖

1.1 線程堆棧視圖

  

線程堆棧視圖表示當(dāng)前線程的堆棧,從中可以看出在運(yùn)行哪些代碼,并且整個(gè)調(diào)用過(guò)程,以及代碼行號(hào)。分別介紹一下這幾個(gè)按鈕的含義。從左至右分別為:

1.表示當(dāng)前實(shí)現(xiàn)繼續(xù)運(yùn)行直到下一個(gè)斷點(diǎn),快捷鍵為F8。

2.表示打斷整個(gè)進(jìn)程

3.表示進(jìn)入當(dāng)前方法,快捷鍵為F5。

4.表示運(yùn)行下一行代碼,快捷鍵為F6。

5.表示退出當(dāng)前方法,返回到調(diào)用層,快捷鍵為F7。

6、表示返回當(dāng)前線程堆棧的起始處開(kāi)始執(zhí)行。

1.2  變量視圖


1.為變量名視圖,顯示當(dāng)前代碼行中所有可以訪問(wèn)的實(shí)例變量和局部變量

2.顯示所有的變量值

3.可以通過(guò)該窗口來(lái)改變變量值

1.3 斷點(diǎn)視圖


1.顯示所有斷點(diǎn)

2. 將當(dāng)前窗口1中選中的端口失效,再次點(diǎn)擊啟用。

3.異常斷點(diǎn)

  經(jīng)常遇見(jiàn)一些異常,然后程序就退出來(lái)了,要找到異常發(fā)生的地方就比較難了,還好可以打一個(gè)異常斷點(diǎn)。到了異常的地方,當(dāng)前線程就掛起。

1.4 表達(dá)式視圖


表達(dá)式視圖是Debug過(guò)程中較為常用的一個(gè)視圖,可以對(duì)自己的感興趣的一些變量進(jìn)行觀察,也可以增加一些自己的表達(dá)式,也可以查看一行代碼的運(yùn)行結(jié)果。1.表達(dá)式2. 點(diǎn)擊此可以新增一個(gè)表達(dá)式。

2 斷點(diǎn)種類

2.1 方法斷點(diǎn)

斷點(diǎn)大家都比較熟悉,在Eclipse Java 編輯區(qū)的行頭雙擊就會(huì)得到一個(gè)斷點(diǎn),代碼會(huì)運(yùn)行到此處時(shí)停止。方法斷點(diǎn)是打在方法的入口處。


方法斷點(diǎn)的特別之處在于它可以打在 JDK的源碼里,由于 JDK 在編譯時(shí)去掉了調(diào)試信息,所以普通斷點(diǎn)是不能打到里面的,但是方法斷點(diǎn)卻可以,可以通過(guò)這種方法查看方法的調(diào)用棧。

2.2  條件斷點(diǎn)

條件斷點(diǎn),顧名思義就是一個(gè)有一定條件的斷點(diǎn),只有滿足了用戶設(shè)置的條件,代碼才會(huì)在運(yùn)行到斷點(diǎn)處時(shí)停止。

在斷點(diǎn)處點(diǎn)擊鼠標(biāo)右鍵,選擇最后一個(gè)"Breakpoint Properties"


斷點(diǎn)屬性中有三個(gè)選擇,啟用“Enable”,Hit Count和Conditional中依據(jù)我們的需要來(lái)選擇。

1)Hit Count 是指定斷點(diǎn)處的代碼段運(yùn)行多少次,最典型的就是循環(huán),如果要讓一個(gè)循環(huán)執(zhí)行10次就線程掛起,則指定Hit Count值為10,那么當(dāng)前的循環(huán)執(zhí)行到第九次的時(shí)候就會(huì)掛掉。

2)Conditional,顧名思義,就是條件判斷,例如我們需要循環(huán)變量i==10時(shí),線程掛起,則條件設(shè)定為i==10,選擇Suspend when "true"。

那如果上面的Hit Count和Conditional都選擇的話,如果表達(dá)式和值設(shè)置不合理則會(huì)實(shí)效。如果選擇Suspend when value changes,那么可能在Conditional在變量值發(fā)生改變的時(shí)候就掛起。

2.3 變量斷點(diǎn)

斷點(diǎn)不僅能打在語(yǔ)句上,變量也可以接受斷點(diǎn),

上圖就是一個(gè)變量的打的斷點(diǎn),在變量的值初始化,或是變量值改變時(shí)可以停止,當(dāng)然變量斷點(diǎn)上也是可以加條件的,和上面的介紹的條件斷點(diǎn)的設(shè)置是一樣的。呵呵,這部分我沒(méi)去實(shí)踐,找不到在哪里設(shè)置~

2.4 修改變量值

 修改變量值的情況適用于代碼停在斷點(diǎn)處,但是傳過(guò)來(lái)的值不正確,那么可以通過(guò)修改這個(gè)變量值,保證代碼走正確的流程;或者是說(shuō)有一個(gè)異常分支老是進(jìn)不去,能不能調(diào)試時(shí)改一下條件,看一下異常分支代碼是否正確。

在Debug 視圖的 Variables 小窗口中,我們可以在變量上右鍵,選擇"Change Value..." 在彈出的對(duì)話框中修改變量的值。

或是在下面的值查看窗口中修改,保用Ctr+S 保存后,變量值就會(huì)變成修改后的新值了。


2.5 重新調(diào)試

這種調(diào)試的回退不是萬(wàn)能的,只能在當(dāng)前線程的棧幀中回退,也就說(shuō)最多只能退回到當(dāng)前線程的調(diào)用的開(kāi)始處。回退時(shí),請(qǐng)?jiān)谛枰赝说木€程方法上點(diǎn)右鍵,選擇 "Drop to Frame"


關(guān)于斷點(diǎn)調(diào)試,還有異常斷點(diǎn)等,已在Dubug視圖中提過(guò),還有遠(yuǎn)程調(diào)試的。因?yàn)樽约簺](méi)試過(guò),所以期待下次的博文。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java聊天室的實(shí)現(xiàn)代碼

    java聊天室的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了java聊天室的實(shí)現(xiàn)代碼,一個(gè)多客戶端聊天室,支持多客戶端聊天,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • java實(shí)現(xiàn)memcache服務(wù)器的示例代碼

    java實(shí)現(xiàn)memcache服務(wù)器的示例代碼

    本篇文章主要介紹了java實(shí)現(xiàn)memcache服務(wù)器的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 詳解Jmeter線程組的設(shè)置方法

    詳解Jmeter線程組的設(shè)置方法

    本文主要介紹了Jmeter線程組的設(shè)置方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java中Struts2的值棧ValueStack詳解

    Java中Struts2的值棧ValueStack詳解

    這篇文章主要介紹了Java中Struts2的值棧ValueStack詳解,值棧(ValueStack)就是 OGNL 表達(dá)式存取數(shù)據(jù)的地方,在一個(gè)值棧中,封裝了一次請(qǐng)求所需要的所有數(shù)據(jù),需要的朋友可以參考下
    2023-08-08
  • Java文件拒絕訪問(wèn)問(wèn)題及解決

    Java文件拒絕訪問(wèn)問(wèn)題及解決

    這篇文章主要介紹了Java文件拒絕訪問(wèn)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 值得收藏的2017年Java開(kāi)發(fā)崗位面試題

    值得收藏的2017年Java開(kāi)發(fā)崗位面試題

    這篇文章主要為大家推薦一份值得收藏的2017年Java開(kāi)發(fā)崗位面試題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度

    Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度

    這篇文章主要介紹了Spring整合TimerTask實(shí)現(xiàn)定時(shí)任務(wù)調(diào)度的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文)

    IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文)

    這篇文章主要介紹了IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • java利用pdfbox+poi往pdf插入數(shù)據(jù)

    java利用pdfbox+poi往pdf插入數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • java調(diào)用c程序通信示例代碼

    java調(diào)用c程序通信示例代碼

    這篇文章主要介紹了java調(diào)用c程序通信示例,大家參考使用吧
    2013-12-12

最新評(píng)論

渝北区| 中江县| 禄劝| 子长县| 宁阳县| 泰和县| 乐都县| 微山县| 尖扎县| 安泽县| 金华市| 昭觉县| 朔州市| 凌源市| 禹城市| 祁东县| 上栗县| 江口县| 正镶白旗| 修文县| 新郑市| 贺州市| 卫辉市| 商河县| 师宗县| 射阳县| 平原县| 东乡| 鸡东县| 呼伦贝尔市| 阿克苏市| 昌平区| 青岛市| 沾益县| 浑源县| 乌鲁木齐县| 德江县| 巴彦县| 正安县| 梅州市| 垫江县|