网站建设做的好的公司,深圳网页设计培训班价格,夏津网站建设公司,wordpress 视频 播放器插件目录
F8案例
编辑 debug过程中报错
编辑用debug查看方法源码
一层一层查看 Arrays.sort()方法
F9
DebugExercise 介绍#xff1a;断点调试是指在程序的某一行设置一个断电#xff0c;调试时#xff0c;程序运行到这一行就会停住#xff0c;然后可以一步步往下调试…
目录
F8案例
编辑 debug过程中报错
编辑用debug查看方法源码
一层一层查看 Arrays.sort()方法
F9
DebugExercise 介绍断点调试是指在程序的某一行设置一个断电调试时程序运行到这一行就会停住然后可以一步步往下调试调试过程中可以看到各个变量当前的值如果出错的话调试到出错的代码行就会显示错进行分析从而找到这个bug。
快捷键F7跳入跳入方法内F8跳过逐行执行代码shiftF8跳出跳出方法F9resume执行到下一个断点
F8案例
public class Debug01 {public static void main(String[] args) {int sum 0;for (int i 0; i 3; i) {sum i;System.out.println(i i);System.out.println(sum sum);}System.out.println(结束循环);}
} 逐行执行代码 遇到输出语句会挨个输出 循环执行完后就会执行后面的语句
直到该程序所有语句全部执行完就会自动跳出 debug过程中报错
public class Debug02 {public static void main(String[] args) {int[] arr {1, 2, 3};for (int i 0; i arr.length; i) {System.out.println(arr[i]);}System.out.println(循环结束);}
} 用debug查看方法源码
import java.util.Arrays;public class Debug03 {public static void main(String[] args) {int[] arr {1, -1, 2, -2, 10, 5};Arrays.sort(arr);for (int i 0; i arr.length; i) {System.out.print(arr[i] \t);}}
}
两种方法
1在不做任何操作的情况下按F7并没有进入该方法的源码 在设置中将如下两条语句取消勾选即可F7 2alt shift F7强制进入 一层一层查看 Arrays.sort()方法 F9
断点可以在debug过程中动态的下断点 按下F9键会直接跳转到下一个断点处并且将第二个断点前的语句全部执行 也可以不断地继续去动态增加断点进行测试 DebugExercise
使用断点调试追踪下一个对象创建的过程 创建对象的流程 (1)加载Person类信息 (2)初始化 默认初始化 - 显示初始化 - 构造器初始化 (3)返回对象地址 public class DebugExercise {public static void main(String[] args) {Person person new Person(周小末, 18);System.out.println(person);//默认调用toString}
}
class Person {private String name;private int age;public Person(String name, int age) {this.name name;this.age age;}Overridepublic String toString() {return Person{ name name \ , age age };}
}
1debug查看加载Person类信息 从创建person对象处F8会直接到Person类中的构造器 一直进行会在构造器执行完后返回 System.out.println(person); 2debug查看System.out.println(person); 中的person有没有调用toString方法 然后继续altshiftF7 String.valueOf(x) 如果obj不为空则调用obj中的toString方法 又因为obj的运行类型是Person 所以就会直接进入到Person类中的toString方法