調試是程序員無法回避的工作。調試方法有許多種,但歸根結底,就是找到引發錯誤的代碼。舉例來說,在 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. 在編輯器左側邊緣可看到兩個斷點標記