IDEA中进行debug
1.需要debug的测试代码
@Test
public void test(){
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < 10; i++){
stack.push(i);
if(i == 7){
System.out.println("This is 7!");
}
}
String s = null;
s.length();
}
2.debug的界面
-
Frames:这个就是函数栈的栈帧。里面的每一帧都记录了函数的发生调用的位置(函数返回后去执行这个位置的下一行)和属于这个函数的变量值。
函数调用:一般的a()函数调用b()函数、a()递归调用a()。发生调用时,变量值、函数名、调用的位置都会在栈帧里面里录下来。
函数返回:retrun函数会把当前栈帧弹出,返回到调用他的栈帧(下一个),注意:void 类型函数执行结束,即使不写return也会返回。(今天还在找有没有什么工具可以跟踪Java程序里面的栈帧,原来debug里面就已经这么清楚了,真是蠢到家了哈) -
Variables:最常见的变量监视
-
Watches:可以自己定义一些监视对象(变量、对象的方法都可以)
-
左侧工具栏
-
上侧调试工具按键
3.左侧工具栏
里面最要好用的一个功能是breakpoints
,可以监视指定异常类型。这样,在debug的时候,无需任何端点,程序也会在你指定的异常类型处停下来,如下图:
4.上侧调试工具按键
上图框出的部分从左到右分别是:
- 下一步【F8】:程序往下运行一步
- 进入项目原码【F7】:进入你项目中写的类里的函数
- 强制进入原码【Alt+Shift+F7】:进入的是java底层源码