調試是程式員無法迴避的工作。調試方法有許多種,但歸根結底,就是找到引發錯誤的代碼。舉例來說,在 Linux 應用程式中,分段故障被認為是最常見的錯誤之一。當程式嘗試訪問未分配給它的記憶體並因為分段違例而終止時,將產生這種錯誤。
要修正這種錯誤,您需要找到引發該行為的那行代碼。一旦找到有問題的程式碼,這對於知道引發錯誤的上下文及其相關的值、變數和方法也是有所協助的。使用調試器將使尋找這些資訊變得相當簡單。
Eclipse 調試器及 Debug 視圖
Eclipse 平台的特色在於內建了 Java 調試器,該調試器提供所有標準調試功能,包括進行逐步執行、設定斷點和值、檢查變數和值以及暫掛和恢複線程的能力。此外,您還可以調試在遠程機器上啟動並執行應用程式。Eclipse 平台主要是一個 Java 開發環境,但其體繫結構同時也向其它程式設計語言開放。如以下您將看到的,同一個 Eclipse 的 Debug 視圖也可用於 C 和 C++ 程式設計語言。
Eclipse 平台工作台(Eclipse Platform Workbench)及其工具是基於 Java 開發工具(JDT)組件所構建的。這些組件向 Eclipse 提供以下功能:
1、專案管理工具
2、透視圖和視圖
3、構建器、編輯器、搜尋和構建功能
4、調試器
Eclipse 調試器本身是作為 Eclipse 二進位檔案中包含的標準外掛程式而存在的。Eclipse 還有一個特別的 Debug 視圖,允許您在工作台中管理程式的調試和運行。它為調試中的每個目標顯示其暫掛線程的堆疊框架。程式中的各個線程以作為樹的節點出現,而 Debug 視圖則顯示運行中的各目標的進程。如果暫掛一個線程,則其堆疊框架顯示為子項目。
在您開始使用 Eclipse 調試器之前,假定您已經安裝了適當的 Java SDK/JRE(我推薦您使用 Java VM 1.4)和 Eclipse 平台 SDK 2.0/2.1,且兩者都工作正常。
一般來說,先使用 Eclipse 樣本來測試一下調試選項是一個好主意。如果您要開發和調試 C/C++ 項目,您還需要得到並安裝 C/C++ 開發工具(C/C++ Development Tool,CDT)。有關 Java SDK/JRE、Eclipse 平台和樣本以及 CDT 的連結,圖1顯示了 Debug 使用者介面的常規視圖。
圖 1. Eclipse Debug 視圖使用者介面的常規視圖
調試 Java
在您能調試您的項目之前,需要先完整地編譯和運行代碼。您首先需要為您的應用程式建立回合組態並確認其正常啟動。之後,您需要使用 Run > Debug...菜單,以同樣的方式設定調試配置。您還需要選擇作為主 Java 類的由調試器使用的類(也請參閱 圖 2)。對一個項目,您希望有幾種調試配置就可以有幾種。當調試器啟動後(通過 Run > Debug...),會在一個新視窗開啟它,您可以準備開始調試。
圖 2. 在調試配置中設定項目的主 Java 類
以下是最常見的 Eclipse 調試操作的樣本指示資訊:
設定斷點
當您啟動應用程式以進行調試時,Eclipse 自動切換到 Debug 透視圖。無庸置疑,最常見的調試過程就是設定斷點,以允許檢查在條件陳述式和迴圈中的變數和值。要在 Java 透視圖的 Package Explorer 視圖中設定斷點,雙擊所選的原始碼檔案,在編輯器中開啟它。遍曆全部代碼,將游標放置在含有可疑代碼的那一行的標記欄上(在編輯器地區的左側)。雙擊以設定斷點(也請參閱 圖 3)。
圖 3. 在編輯器左側邊緣可看到兩個斷點標記