断点调试入门
(断点可以在debug过程中,动态的下断点)
测试工具栏:
让代码往下执行一行
进入方法体内(只能进入自己写的方法,框架源码进不去)
跳出当前方法体
强制进入当前方法体内
停在光标所在行(相当于临时断点)
其他常用调试按钮
程序一直跑,直到下一个断点停下来。
如果没有断点,就一直往下走。
停止调试,停止服务器
临时禁用所有断点
1.看一下变量的变化情况
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += i;
System.out.println("i=" + i);
System.out.println("sum=" + sum);
}
System.out.println("已完成");
2.看一下数组越界异常
int[] arr = {10,20,1};
for (int i = 0; i <= arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("哈哈哈");
3.演示追源码,看看java设计者是怎么实现的
(将光标放在某个变量上,可以看到最新的数据)
IDEA如何进入JDK源码:
方法1:强制进入
方法2:setting--Build..--Debugger--stepping,把Do not step into the classes中的java*,javax*取消勾选,其他的随意
int[] arr = {10,-1,2,-98,25};
//想看看Arrays.sort底层的实现
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
进入一层后还是.sort方法,继续往里追
4.如何直接执行到下一个断点
System.out.println("欢迎进入我的程序");
for (int i = 0; i < 5; i++) {
System.out.println("你好啊" + i);
}
System.out.println("hello100");
System.out.println("hello200");
System.out.println("hello300");
System.out.println("hello400");
System.out.println("hello500");
System.out.println("hello600");
System.out.println("hello700");
5.待补充