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