国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

分享Java程序員應該知道的10個調試技巧

2019-11-26 16:19:08
字體:
來源:轉載
供稿:網友

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

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

不要使用System.out.println作為調試工具 把所有涉及到的組件日志級別激活并使用 使用日志分析器來讀取日志

1.條件斷點

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

2.異常斷點

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

3.監(jiān)視點

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

4.評估/檢查

按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變量或者表達式的值。我們也可以給一個變量或表達式添加永久觀察點,當程序在調試時,這些觀察點就會在表達式視圖(Expression view)中顯示出來。

5.修改變量值

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

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

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

7.環(huán)境變量

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

8.Drop to Frame

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

9.分布過濾

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

10.進入、跳出和返回

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

F5――進入:移動到下一個步驟,如果當前行有一個方法調用,該控件將會跳轉到被調用方法的第一行執(zhí)行。

F6――跳出:移動到下一行。如果在當前行有方法調用,那么會直接移動到下一行執(zhí)行。不會進入被調用方法體里面。

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

F8――移動到下一個斷點處執(zhí)行。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 栖霞市| 滕州市| 丹巴县| 德庆县| 华池县| 治多县| 凤翔县| 全南县| 河东区| 武夷山市| 临沂市| 西林县| 葵青区| 福建省| 新巴尔虎右旗| 吕梁市| 余姚市| 新丰县| 汝阳县| 农安县| 民乐县| 阳朔县| 枣庄市| 余庆县| 阿尔山市| 新晃| 福清市| 怀宁县| 微山县| 郎溪县| 崇义县| 浠水县| 绵阳市| 康乐县| 揭阳市| 东阿县| 本溪市| 益阳市| 旅游| 梨树县| 濉溪县|