国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

瀏覽:105日期:2022-09-06 10:37:27

試可以幫助識(shí)別和解決應(yīng)用程序缺陷,在本文中,作者將使用大家常用的的開發(fā)工具Eclipse來調(diào)試Java應(yīng)用程序。但這里介紹的調(diào)試方法基本都是通用的,也適用于NetBeans IDE,我們會(huì)把重點(diǎn)放在運(yùn)行時(shí)上面。

在開始之前,推薦大家去看看Eclipse shortcuts這篇文章,它將會(huì)給你帶來很多方便。在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前給大家提3點(diǎn)建議!

不要使用System.out.println作為調(diào)試工具把所有涉及到的組件日志級(jí)別激活并使用使用日志分析器來讀取日志1.條件斷點(diǎn)

如果你不知道如何添加斷點(diǎn),只需點(diǎn)擊左邊面板(行號(hào)前面)斷點(diǎn)即被創(chuàng)建。在調(diào)試界面中,“斷點(diǎn)”視圖會(huì)把所有被創(chuàng)建的斷點(diǎn)列出來。我們可以給它加一個(gè)布爾條件,也就是說,該斷點(diǎn)會(huì)被激活并且如果布爾條件為真,就會(huì)執(zhí)行該斷點(diǎn),否則將會(huì)跳過往下執(zhí)行。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

2.異常斷點(diǎn)

在斷點(diǎn)視圖中,有一個(gè)J!標(biāo)記按鈕!我們可以使用該按鈕來添加一個(gè)Java異常斷點(diǎn)。例如,我們想讓程序在遇到空指針異常(NullPointerException)時(shí),仍然能繼續(xù)調(diào)試,那么我們可以使用該按鈕來添加一個(gè)異常斷點(diǎn)!

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

3.監(jiān)視點(diǎn)

這是一個(gè)非常好的功能,當(dāng)選定的屬性訪問或修改程序時(shí),程序會(huì)停止執(zhí)行并允許進(jìn)行調(diào)試。在Outline視圖中選擇一個(gè)類變量并從上下文菜單中選擇切換監(jiān)視點(diǎn),屬性監(jiān)視點(diǎn)將會(huì)被創(chuàng)建,在斷點(diǎn)(Breakpoints)視圖中會(huì)把所有監(jiān)視點(diǎn)用列表的形式顯示出來。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

4.評(píng)估/檢查

按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變量或者表達(dá)式的值。我們也可以給一個(gè)變量或表達(dá)式添加永久觀察點(diǎn),當(dāng)程序在調(diào)試時(shí),這些觀察點(diǎn)就會(huì)在表達(dá)式視圖(Expression view)中顯示出來。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

5.修改變量值

在調(diào)試過程中,我們可以修改變量值。先選好一個(gè)變量然后進(jìn)入變量視圖(Variables view),根據(jù)變量類型在其對(duì)應(yīng)的Value列里輸入值即可。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

6.在Main函數(shù)里面停止執(zhí)行

在運(yùn)行/調(diào)試設(shè)置中,編輯配置對(duì)話框中有“Main”這個(gè)選項(xiàng)卡,我們可以勾選“Stop in main”這個(gè)復(fù)選框。如果選中,那么在調(diào)試一個(gè)基于main方法的Java程序時(shí),程序會(huì)在main方法第一行位置便停止執(zhí)行。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

7.環(huán)境變量

并不是在系統(tǒng)屬性中添加環(huán)境變量,我們可以在編輯配置對(duì)話框中很方便地進(jìn)行添加。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

8.Drop to Frame

這也是我最喜歡的一個(gè)功能。調(diào)試期間,可以重新跳到調(diào)用堆棧框架的開始處執(zhí)行,并且變量值也會(huì)回到最初。根據(jù)回檔調(diào)整堆棧的深度,這個(gè)功能的主要用途是所有變量狀態(tài)可以快速回到方法開始執(zhí)行時(shí)候的樣子,然后你可以重新進(jìn)行一遍一遍執(zhí)行,這樣就可以在你關(guān)注的地方進(jìn)行多次調(diào)試,但是在執(zhí)行過程中也會(huì)產(chǎn)生一些副作用,比如插入到數(shù)據(jù)庫里面的數(shù)據(jù)是無法刪除的!

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

9.分布過濾

當(dāng)我們進(jìn)入(F5)方法的時(shí)候,我們還可以訪問其外部庫(比如java.*),我們可能不需要這個(gè)庫,就可以在Perference選項(xiàng)卡頁面添加一個(gè)過濾器來排除這個(gè)包。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

10.進(jìn)入、跳出和返回

我把這個(gè)放在最后一點(diǎn),在調(diào)試過程中,這些是必須要了解(最好掌握)的東西:

F5——進(jìn)入:移動(dòng)到下一個(gè)步驟,如果當(dāng)前行有一個(gè)方法調(diào)用,該控件將會(huì)跳轉(zhuǎn)到被調(diào)用方法的第一行執(zhí)行。

F6——跳出:移動(dòng)到下一行。如果在當(dāng)前行有方法調(diào)用,那么會(huì)直接移動(dòng)到下一行執(zhí)行。不會(huì)進(jìn)入被調(diào)用方法體里面。

F7——返回:從當(dāng)前方法中跳出,繼續(xù)往下執(zhí)行。

F8——移動(dòng)到下一個(gè)斷點(diǎn)處執(zhí)行。

Java程序員應(yīng)該知道的10個(gè)調(diào)試技巧

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 黄色三级在线播放 | 999久久久精品视频在线观看 | 欧美一区二区日韩一区二区 | 欧美日韩综合精品一区二区三区 | 国产中文字幕视频在线观看 | 国产一级精品视频 | 欧美高清一区二区三 | 免费一级欧美性大片 | 日韩三级观看 | 欧美精品三级在线 | 最新主播福利视频在线观看 | 亚欧成人| 精品综合久久久久久98 | 日韩欧美特级毛片 | 成人做爰毛片免费视频 | 久草在线中文 | 欧美成人手机视频免费播放 | 免费永久观看美女视频网站网址 | 日本一级毛片高清免费观看视频 | 伊人久久精品午夜 | 国产一区日韩二区欧美三 | 久草a在线 | 在线 中文字幕 日韩 欧美 | 韩国一级特黄毛片大 | 久久成人精品 | a理论片| 天天黄色片 | 欧美一级特黄特黄毛片 | 亚洲国产精品久久久久 | 手机看片久久高清国产日韩 | 免费一看一级毛片全播放 | 91成年人 | 国内精品小视频福利网址 | 国产三级做爰在线观看 | 国产午夜精品久久久久小说 | 六月丁香婷婷色狠狠久久 | 欧美 日韩 国产在线 | 欧美一级成人影院免费的 | 一级特黄国产高清毛片97看片 | 亚洲 欧美 日韩 丝袜 另类 | 欧美高清一区二区 |