1. 程式人生 > >10個除錯Java的技巧

10個除錯Java的技巧

除錯不僅可以查詢到應用程式缺陷所在,還可以解決缺陷。對於Java程式設計師來說,他們不僅要學會如何在Eclipse裡面開發像樣的程式,更需要學會如何除錯程式。本文介紹了Java程式設計師必知的10個除錯技巧,保證讓你受益匪淺!

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

  1. 把所有涉及到的元件日誌級別啟用並使用
  2. 使用日誌分析器來讀取日誌

1.條件斷點

如果你不知道如何新增斷點,只需點選左邊面板(行號前面)斷點即被建立。在除錯介面中,“斷點”檢視會把所有被建立的斷點列出來。我們可以給它加一個布林條件,也就是說,該斷點會被啟用並且如果布林條件為真,就會執行該斷點,否則將會跳過往下執行。

2.異常斷點

在斷點檢視中,有一個J!標記按鈕!我們可以使用該按鈕來新增一個Java異常斷點。例如,我們想讓程式在遇到空指標異常(NullPointerException)時,仍然能繼續除錯,那麼我們可以使用該按鈕來新增一個異常斷點!

3.監視點

這是一個非常好的功能,當選定的屬性訪問或修改程式時,程式會停止執行並允許進行除錯。在Outline檢視中選擇一個類變數並從上下文選單中選擇切換監視點,屬性監視點將會被建立,在斷點(Breakpoints)檢視中會把所有監視點用列表的形式顯示出來。http://www.cnblogs.com/roucheng/

4.評估/檢查

按Ctrl+Shift+D或者Ctrl+Shift+I來顯示選定變數或者表示式的值。我們也可以給一個變數或表示式新增永久觀察點,當程式在除錯時,這些觀察點就會在表示式檢視(Expression view)中顯示出來。

5.修改變數值

在除錯過程中,我們可以修改變數值。先選好一個變數然後進入變數檢視(Variables view),根據變數型別在其對應的Value列裡輸入值即可。

6.在Main函式裡面停止執行

在執行/除錯設定中,編輯配置對話方塊中有“Main”這個選項卡,我們可以勾選“Stop in main”這個複選框。如果選中,那麼在除錯一個基於main方法的Java程式時,程式會在main方法第一行位置便停止執行。

7.環境變數

並不是在系統屬性中新增環境變數,我們可以在編輯配置對話方塊中很方便地進行新增。

8.Drop to Frame

這也是我最喜歡的一個功能。除錯期間,可以重新跳到呼叫堆疊框架的開始處執行,並且變數值也會回到最初。根據回檔調整堆疊的深度,這個功能的主要用途是所有變數狀態可以快速回到方法開始執行時候的樣子,然後你可以重新進行一遍一遍執行,這樣就可以在你關注的地方進行多次除錯,但是在執行過程中也會產生一些副作用,比如插入到資料庫裡面的資料是無法刪除的!

9.分佈過濾

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

10.進入、跳出和返回

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

F5——進入:移動到下一個步驟,如果當前行有一個方法呼叫,該控制元件將會跳轉到被呼叫方法的第一行執行。

F6——跳出:移動到下一行。如果在當前行有方法呼叫,那麼會直接移動到下一行執行。不會進入被呼叫方法體裡面。

F7——返回:從當前方法中跳出,繼續往下執行。

F8——移動到下一個斷點處執行。

相關推薦

10除錯Java技巧

除錯不僅可以查詢到應用程式缺陷所在,還可以解決缺陷。對於Java程式設計師來說,他們不僅要學會如何在Eclipse裡面開發像樣的程式,更需要學會如何除錯程式。本文介紹了Java程式設計師必知的10個除錯技巧,保證讓你受益匪淺! 在開始之前,推薦大家去看看Eclipse shortcuts這篇文章

Java程式設計師必須知道的10除錯技巧

除錯可以幫助識別和解決應用程式缺陷,在本文中,將使用大家常用的的開發工具Eclipse來除錯Java應用程式。 但這裡介紹的除錯方法基本都是通用的,也適用於NetBeans IDE,我們會把重點放在執行時上面。 在本文中使用的是Eclipse Juno版(Eclipse 4.2),在開始前給

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

堆棧 poi 檢查 variable 如何 調試技巧 系統屬性 找到 界面 調試不僅可以查找到應用程序缺陷所在,還可以解決缺陷。對於Java程序員來說,他們不僅要學會如何在Eclipse裏面開發像樣的程序,更需要學會如何調試程序。本文介紹了Java程序員必知的10個調試技巧

能夠讓你裝逼的10Python小技巧

pre 經驗 避免 優化 enum 抽象 淺拷貝 ima 在一起 列表推導式 你有一個list: bag = [1, 2, 3, 4, 5] 現在你想讓所有元素翻倍,讓它看起來是這個樣子: [2, 4, 6, 8, 10] 大多初學者,根據之前語言的經驗會大概

最實用的10重構小技巧排行榜,您都用過哪些呢?

LZ最近一直在研究虛擬機器原始碼,可惜目前還只是稍微有一點點頭緒,無法與各位分享,龐大的JAVA虛擬機器原始碼果然不是一朝一夕能搞定的,LZ汗顏。            本次我們拋開JAVA虛擬機器原始碼這些相對底層的東西,LZ來與各位

10手機攝影技巧,教你用手機拍出大片

spider 攝影 nbsp 手機拍 amp 教你 spi 九宮格 技巧 一、拍攝時盡量靠近主體 二、選取黃金時間進行拍攝 三、巧用窗邊光線 四、學會留白 五、多使用前置鏡頭 六、使用黑白拍攝 七、發現快門的另一面 八、學會九宮格構圖 九、學會用濾鏡 十、

10重構小技巧

No.1:重複程式碼的提煉            重複程式碼是重構收效最大的手法之一,進行這項重構的原因不需要多說。它有很多很明顯的好處,比如總程式碼量大大減少,維護方便,程式碼條理更加清晰易讀。     &nb

ExecutorService-10要訣和技巧

原文連結 作者:Tomasz Nurkiewicz    譯者:simonwang ExecutorService抽象概念自Java5就已經提出來了,現在是2014年。順便提醒一下:Java5和Java6都已不被支援,Java7在半年內也將會這樣。我提出這個的原因是許多Java程式設計師仍然不

(譯)MySQL的10基本效能技巧

MySQL的10個基本效能技巧 與所有的關係資料庫一樣,MySQL正如一頭怪獸一般, 它可能會在接到通知的一瞬間陷入停頓,讓你的應用程式陷入困境,讓你的業務處於危險之中。真是的情況是,常見的錯誤是導致MySQL效能問題的根源。 工作負載或配置陷阱中的一些微妙之處常常會掩蓋這些資

10Java謀生非常有趣的方式

令我驚訝的是,有些人覺得程式設計並不令人興奮——只將它當作是一份枯燥的工作。不過,雖然可能的確有很多無聊的程式設計工作,但這並不意味著你不得不接受這些工作中的一個。程式設計師有各種各樣的機會,運用他們的技能去做一些有趣的事情,特別是如果他們懂Java的話。Java也許是時下僱

10Java謀生非常有趣的方式,你全都掌握了嗎?

提升 ava ext 如果 cap suse 努力 混合 ges 令我驚訝的是,有些人覺得編程並不令人興奮——只將它當作是一份枯燥的工作。不過,雖然可能的確有很多無聊的編程工作,但這並不意味著你不得不接受這些工作中的一個。 程序員有各種各樣的機會,運用他們的技能去做一些有趣

10C語言技巧讓初學者少走180天彎路!

數控 對比 遞增 adf 一切都 人員 ima 檢測 處理 硬件設計師最常見的工作內容是通過寫代碼來測試硬件。這10個C語言技巧(C語言仍然是常見的選擇)可以幫助設計師避免因基礎性錯誤而導致某些缺陷的產生並造成維護方面的困擾。 技巧 1:不要使用“GOTO”語句 二十幾年前

10Vue開發技巧助力成為更好的工程師(二)

## 優雅更新props 更新 `prop` 在業務中是很常見的需求,但在子元件中不允許直接修改 `prop`,因為這種做法不符合單向資料流的原則,在開發模式下還會報出警告。因此大多數人會通過 `$emit` 觸發自定義事件,在父元件中接收該事件的傳值來更新 `prop`。 child.vue: ```

推薦 10 實用但偏執的 Java 程式設計技巧

任何事情有可能出錯,沒錯,的確如此。 這就是為什麼我們要採用“防禦性程式設計”,即一些偏執習慣的原因。下面是我個人認為的 10 個最有用但偏執的 Java 程式設計技術。一起來看一看吧: 1.將 String 字串放在最前面 為了防止偶發性的 NullPointerException 異

eclipse除錯java程式的九技巧

九個技巧: 邏輯結構 條件debug 異常斷點 單步過濾 跳到幀 Inspect expressions display 遠端debug     最早開始用eclipse的debug的時候,只會F5 F6 F7 F8,甚

10強大的Visuals Studio除錯技巧

原文:http://www.codeproject.com/Articles/359801/10plus-powerful-debugging-tricks-with-Visual-Studi 簡介 除錯是軟體開發週期中很重要的一部分。它具有挑戰性,同時也很讓人疑惑和煩惱。

作為運營新人,取標題的這10技巧你需要掌握

運營當我們一看到“ 標題黨 ” 這三個字,不用多說,心裏絕對都是壞的印象。一篇 shit 一樣的文章,靠一個好的標題,是可以獲得不錯的點擊量,但 內容運營 的最終目的是為了數據好看嗎?起一個好的標題確實是一個文章能否獲得關註和點擊率的關鍵,但如何在不成為“ 標題黨 ” 的前提下取 好標題呢?近日fansir

10提升MySQL百家樂性能baijiale的小技巧

結果集 系統管理員 重要 文件的 郵件 為什麽 一秒 閾值 off 從工作量分析到索引的三條規則,這些專家見解肯定會讓您的MySQL服務器尖叫。 在所有的關系數據庫中,MySQL已經被證明了完全是一頭野獸,只要通知停止運行就絕對不會讓你多等一秒鐘,使你的應用置於困境之中,你

Java程序員應當知道的10面向對象設計原則

yourself 影響 準備 observe 及其 而是 equals 們的 格式 面向對象設計原則是OOPS編程的核心, 但我見過的大多數Java程序員熱心於像Singleton (單例) 、 Decorator(裝飾器)、Observer(觀察者) 等設計模式,而沒有把

成為優秀Java程序員的10要點

實用 它的 最好的 事物 不同的 例如 做的 lec 過時 如果你是一個熱衷於技術的Java程序員, 那麽下面的10個要點可以讓你在眾多Java開發人員中脫穎而出。 1. 擁有紮實的基礎和深刻理解OO原則 對於Java程序員,深刻理解Object Oriented Prog