文章目錄
- 前言
- 一、什么是代碼調試?
- 二、常見的代碼調試方式
- 2.1、手工跟蹤(hand trace)
- 2.2、手工跟蹤的適用范圍
- 2.3、使用調試工具
- 2.4、調試工具具備的特性
- 總結
前言
我們在項目開發過程中,經常遇到需要進行調試的代碼模塊。對于初學者而言,手工跟蹤最為有效和方便,一方面可以重新對于系統的內部邏輯進行一次梳理,另一方面還可以找到產生問題的地方。而對于高階的開發者而言,手工跟蹤的方式極大地浪費了時間,所以需要調試工具的幫忙。通過本文我將為大家介紹何為代碼調試?如何進行手工跟蹤和使用調試工具進行代碼調試,調試工具又該具備什么特性?一、什么是代碼調試?
查找和改正錯誤的過程稱為調試(debugging)。
調試的一般途徑是采用各種方法逐步縮小程序中 bug 所在的范圍。
二、常見的代碼調試方式
2.1、手工跟蹤(hand trace)
手工跟蹤(hand trace)程序(即通過讀程序找錯誤),也可以插入打印語句,顯示變量的值或程序的執行流程。
2.2、手工跟蹤的適用范圍
這種方法適用于短小、簡單的程序。
2.3、使用調試工具
對于龐大、復雜的程序,最有效的調試方法還是使用調試工具。
JDK 包含了一個命令行調試器 Jdb,結合一個類名來調用該命令。
Jdb 本身也是一個 Java 程序,運行本身的一個 Java 解釋器的拷貝。
2.4、調試工具具備的特性
所有的 Java IDE 工具,比如 Eclipse 和 NetBeans 包含集成的調試器。調試器應用讓你可以跟蹤一個程序的執行。他們因程序的不同,但是大都支持以下特征中的多數:
- 一次執行一條語句:調試器允許你一次執行一條語句,從而可以看到每條語句的效果。
- 跟蹤進入或者一步運行過一個方法:如果一個方法正在被執行,你可以讓調試器跟蹤進入方法內部,并且一次執行方法里面的一條語句,或者你可以讓調試器一步運行過整個方法。如果你知道方法是可行的,你應該一次運行過整個的方法。比如,通常都會一步運行過系統提供的方法,比如,
System.out.println
。 - 設置斷點:你可以在一條特定的語句上面設置斷點。當遇到一個斷點時,你的程序將暫停。你可以設置任意多的斷點。當你知道程序錯誤從什么地方可能開始的時候,斷點特別有用。你可以將斷點設置在那條語句上,讓程序先執行到斷點處。
對 Eclipse 斷點調試內容感興趣的同學可以點擊——Eclipse 答疑:如何使用 Eclipse 進行斷點(Breakpoints)調試?
- 顯示變量:調試器讓你選擇多個變量并且顯示他們的值。當你跟蹤一個程序的時候,變量的內容持續更新。
- 顯示調用堆棧:調試器讓你跟蹤所有的方法調用。當你需要看到程序執行的流程的宏觀圖景的時候,這個特征非常有用。
- 修改變量:一些調試器允許你在調試的過程中修改變量的值。當你希望用不同的示例來測試程序,而又不希望離開調試器的時候,這是非常方便的。
總結
本文給大家介紹了什么是代碼調試,作為開發者,初學者和高階應如何選擇代碼調試的方式,不同的代碼調試方式又有何種不同,代碼調試工具應該具備什么特性可以滿足開發者需求。而現在我們常見的代碼調試工具多集成到了開發 IDE 中,如 Eclipse 和 IDEA。同時給大家引入了如何使用 Eclipse 進行斷點調試,作為拓展你會使用 IDEA 進行代碼調試嗎?我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!