1.1 Eclipse斷點調試概述
Eclipse的斷點調試可以查看程序的執行流程和解決程序中的bug
1.2 Eclipse斷點調試常用操作:
A:什么是斷點:
就是一個標記,從哪里開始。
B:如何設置斷點:
你想看哪里的程序,你就在那個有效程序的左邊雙擊即可。
C:在哪里設置斷點:
哪里不會點哪里。
目前:我們就在每個方法的第一條有效語句上都加。
D:如何運行設置斷點后的程序:
右鍵 -- Debug as -- Java Application
E:看哪些地方:
Debug:斷點測試的地方
在這個地方,記住F6,或者點擊也可以。一次看一行的執行過程。
Variables:查看程序的變量變化
ForDemo:被查看的源文件
Console:控制臺
F:如何去斷點:
再次雙擊即可
找到Debug視圖,Variables界面,找到Breakpoints,并點擊,然后看到所有的斷點,最后點擊那個雙叉。
1.2.1 案例代碼一:
package com.itheima;/** 斷點調試:* A:查看程序的執行流程* B:調試程序** 斷點:* 其實就是一個標記** 在哪里加呢?* 想加哪里就加哪里,一般是加在我們看不懂的地方** 如何加呢?* 在代碼區域的最左邊雙擊即可** 如何運行加斷點的程序呢?* 代碼區域 -- 右鍵 -- Debug as -- Java Application* 會彈出一個頁面讓我們選擇是否進入debug模式,選擇yes。** 如何讓程序往下執行呢?* Step Over 執行下一步* F6** 看那些區域呢?* 代碼區域:看程序的執行步驟* Debug區域:看程序的執行步驟* Variables:看變量的創建,賦值,銷毀等* Console:看程序的輸入和輸出** 如何去除斷點:* A:把加斷點的動作再來一遍* B:在debug視圖中,找到Breakpoints,選中斷點,點擊雙x即可*/
public class DebugDemo {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = a + b;
System.out.println(c);
}
}
1.3 斷點調試練習
1.3.1 案例代碼二:
package com.itheima;/** 需求:看循環的執行流程(1-5求和案例)*/
public class DebugTest {
public static void main(String[] args) {
// 定義求和變量
int sum = 0;// 循環獲取每一個數據
for (int x = 1; x <= 5; x++) {
sum += x;
}System.out.println("sum:" + sum);
}
}
1.3.2 案例代碼三:
package com.itheima;import java.util.Scanner;/** 需求:看方法的調用流程** 有方法調用的時候,要想看到完整的流程,每個方法都要加斷點,建議方法進入的第一條有效語句加斷點*/
public class DebugTest2 {
public static void main(String[] args) {
// 創建對象
Scanner sc = new Scanner(System.in);// 接收數據
System.out.println("請輸入第一個數據:");
int a = sc.nextInt();System.out.println("請輸入第二個數據:");
int b = sc.nextInt();// 調用方法
int result = sum(a, b);// 輸出結果
System.out.println("result:" + result);
}// 求和方法
public static int sum(int a, int b) {
return a + b;
}
}
1.3.3 案例代碼四:
package com.itheima;
/** 參數是基本數據類型:* 形式參數的改變不影響實際參數。*/
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);}public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}
1.3.4 案例代碼五:
package com.itheima;/** 參數是基本數據類型:* 形式參數的改變不影響實際參數。*/
public class DebugTest3 {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a:" + a + ",b:" + b);
change(a, b);
System.out.println("a:" + a + ",b:" + b);
}
public static void change(int a, int b) {
System.out.println("a:" + a + ",b:" + b);
a = b;
b = a + b;
System.out.println("a:" + a + ",b:" + b);
}
}
轉載于:https://blog.51cto.com/13587708/2074565