IDEA调试,除了常用的F8,F7之外,还有这些调试技巧
1.条件断点
1.1使用场景
调试进入循环时,希望达到某个条件的时候停下来
1.2使用方法
右键单击红色断点,在条件输入框里填上 i=100
那么,当程序运行到断点处时,就会自动显示 i=100时的运行结果
image.png
2.回到上一步
2.1使用场景
调试时,返回上一步的结果
2.2使用方法
public class DebugTest {
public static void main(String[] args) {
// test1();
test2();
}
/**
* 方法A调方法B,B再调C
*/
private static void test2() {
System.out.println("进入test2");
method1("test2方法调method1");
}
private static void method1(String str1) {
System.out.println("进入method1");
method2(str1,"method1调方法method2");
}
private static void method2(String str1, String str2) {
System.out.println("进入method2");
System.out.println(str1 + str2);
}
}
本来,断点运行到method2()方法中
image.png
点击Drop Frame图标后,回退到上一个方法method1()中
image.png
注:JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前“指针”的位置,就会回到上一帧的位置。
3.修改变量的值
3.1使用场景
在循环中,把索引变量赋值为想要的值,查看对应的运行结果
3.2使用方法
debug的时候,选中变量,右键点击“set value”,给变量赋值
image.png
4.临时执行表达式
4.1使用场景
通过执行某个表达式,可以查看链式函数的中间执行结果
4.2使用方法
如图,点击调试窗口中的Evaluate Expression 按钮(或者:Alt+F8)
image.png