1. 程式人生 > >Eclipse斷點調試

Eclipse斷點調試

Eclipse斷點調試

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);
}
}

Eclipse斷點調試