断点调试
断点调试(debug)
断点调试:一步一步查看源码执行过程,从而发现问题所在
重要提示:在断点调试中,是运行状态,是以对象的运行类型来执行的
断点调试快捷键:
F7:跳入 跳入方法内
F8:跳出 逐行执行代码
shift+F8:跳出 跳出方法
F9:resume,执行到下一个断点
我们话不多说,直接上代码
package javaSEStudy.deBug;
//断点调试讲解
public class DeBug1 {
public static void main(String[] args) {
//debug数组
int sum = 0;
for (int i = 0; i < 10; i++) {
sum += i;
System.out.println("i = "+i);
System.out.println("sum = "+sum);
}
System.out.println("end....");
}
}
package javaSEStudy.deBug;
//degub演示2
public class Debug2 {
//数组下标 异常
public static void main(String[] args) {
int arr[] = new int[5];
for (int i = 0; i <= arr.length; i++) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
}
}
package javaSEStudy.deBug;
import java.util.Arrays;
//演示3
public class DeBug {
public static void main(String[] args) {
int[] arr = {1,-1,10,-20,100};
//排序,追踪sort源码
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
}
断点调试追踪创建对象
package javaSEStudy.deBug;
//debug对象创建过程
public class DeBugExercise {
public static void main(String[] args) {
//创建对象流程
/*
1.加载Person类信息
2.初始化 2.1 默认初始化 , 2.2 显式初始化 , 2.3 构造器初始化
3.返回对象地址
*/
Person p1 = new Person("Jack",20);
System.out.println(p1);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
浙公网安备 33010602011771号