Eclipse 偵錯技巧
如同「Visual Studio 2010 偵錯技巧」所講,偵錯技巧相當重要。
好的 IDE 可以幫助你偵錯,快速找到問題並且有效解決。
程設設計師在轉換不同程式語言或是開發環境時,除了熟悉程式語言特性及環境的不同,
也需要儘快了解 IDE 可以幫助你的偵錯環境及相關技巧。
而艾小克覺得 IDE 的偵錯的熟悉,就如同災難自救術,程式設計師應盡可能早早學會及熟悉。
以下是艾小克最近用 Eclipse 編寫 Java 程式語言時的 Workbench 設定,主要有 Java 及 Debug 兩個工作模式,以下是 Debug 模式圖:
頁面上有許多的頁面,艾小克認為是偵錯時建議打開的,包括:
1. Debug :此頁面記錄程式碼呼叫的 Call Stack
2. Variables:此頁面記錄偵錯時,程式碼區段相關連的物件變數,相當於 Visual Studio 的 Auto 或是 Local 頁面。
3. Expression :此頁面相當於 Visual Studio 的 Watch 頁面,可以自定需要觀察的變數或是敘述。
4. Breakpoints:此頁面可以管理中斷點,並且設定各式各樣的中斷點,如:Conditional、Hit Count、Class Breakpoint 等等。
5. Outline:此頁面會將相關的 Package (Namespace)、Class、Method 展開,請且依照階層的方式來呈現,可以有效觀察程式碼的關聯。
6. Display:此頁面可以撰寫任意 Java 程式碼,藉此來幫助偵錯。
而在一般程式設計師使用 Breakpoint 時,常常使用的功能及快速鍵則可以透過 Run 功能表看到完整的功能:
1. Step Into (F5) : 逐行偵錯,遇到可以 Drill Down 的處理函式,可進入繼續偵錯
2. Step Over (F6):也是逐行偵錯,但遇到處理函式則不進入,直接將結果返回
3. Step Out (F7) :脫離函式,在使用逐行偵錯時,進入處理函式後如果想返回前一個 Call Stack 呼叫函式時使用
4. Resume (F8):繼續執行接下來的程式碼,遇到下個中斷點則才會停下來。
5. Run to Line (Ctrl + R or cmd + R):繼續執行接下來的程式碼,但在鍵盤游標所在的程式碼停下來。
而如同 Visual Studio 2010 一樣,Eclipse 也提供許多不同的中斷點類型,來幫助偵錯:
Breakpoints 頁面,管理目前程式碼中所有的中斷點,透過右鍵功能表的 Breakpoint Properties 可以進行調整:
1. Conditional:設定條件敘述,只有條件成立或是數值改變值,中斷點才會發生效用才會停止程式執行,
2. Hit Count:當監看的數值滿足我們設定的數值時,中斷點才會生效,適用於迴圈中觀察數值時使用
3. Filed Breakpoint:如果我們把中斷點設定在類別中的屬性上時,該中斷點就會變成 Filed Breakpoint。
在 Breakpoint Properties 頁面的設定也變得不一樣,可以設定 (1)存取屬性 (Field Access) 或 (2)變更物件屬性值 (Field modification) 兩種啟用中斷點的時機。
4. Class Breakpoint:如果我們把中斷點設定在類別的宣告上時,該中斷點就會變成 Class Breakpoint。
在 Breakpoint Properties 頁面的設定也變得不一樣,可以設定在程式碼 new 物件的時候是否啟用中斷點。
Variables : 該頁面相當於 Visual Studio 2010 的 Auto 或是 Local 頁面,可以記錄偵錯時,程式碼區段相關連的物件變數。
Expressions:該頁面相當於 Visual Studio 的 Watch 頁面,可以自定需要觀察的變數或是敘述。
Display:此頁面可以撰寫任意 Java 程式碼,藉此來幫助偵錯。