IDEA代码调试及问题分析

前言

虽然目前在处理bug上面都是以经验解决,基本还未用上Debug,但在将来做大型项目中,代码调试可以更方便发现代码中的bug和变量值等,便以此篇文章记录学习过程中在IDEA中Debug代码调试技巧。

准备如下测试代码
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Set;

public class MyTest {
public static void main(String[] args) {
Map<String,Integer>map=new HashMap<>();
map.put(“a”,func());
map.put(“b”,func());
map.put(“c”,func());
map.put(“d”,func());
map.put(“e”,func());
Set keySet = map.keySet();
for (String str:keySet) {
System.out.println(map.get(str));
}
}
public static int func(){
return new Random().nextInt(100);
}
}

设置断点

在代码左侧区域单击行号即可设置该行的断点

在这里插入图片描述
进入Debug模式
可在IDEA右上角点击Debug按钮,或Run->Debug,Alt+Shift+F9
在这里插入图片描述
在这里插入图片描述
进入Debug模式后便可看到如下界面:
在这里插入图片描述
1.Step Over (F8):点击后在方法内执行下一步操作,若该行有方法不会进入方法。
2. Step Into (F7):若调试到该行有方法,点击该按钮后便可在该行点击想要进入的方法。
. 在这里插入图片描述
3. Force Step Into (Alt + Shift + F7):和Step Into类似,能强行进入任何方法,用于查看底层源码。
4. Step Out (Shift + F8):从进入的方法里退出,此时方法执行完毕并未赋值。
5. Run to Cursor (Alt + F9):运行到光标处,将光标定位到你需要查看的那一行,而不需要打断点。
6. Resume Program (F9):运行下一步(下一个断点),没有下一个断点则运行结束。
7. Frames区域:显示当前执行的方法,代码行数等堆栈信息。
8. 变量区域:管理当前方法已经声明的变量信息,按F2可更改变量的值。

其他的调试技巧
Evaluate Expression (Alt + F8):在代码中,可通过鼠标右键,点击Evaluate Expression计算通过光标框选的表达式的值。
在这里插入图片描述
在这里插入图片描述
Condition:在断点处点击鼠标右键,输入特定的条件(比如只想看key值为“c”的数据),点击 Resume Program后可查看满足该条件的变量。
在这里插入图片描述
在这里插入图片描述
Add to Watch:在代码中右键光标框选的表达式,点击Add to Watch即可在变量区域添加该变量并观察变量的值。
在这里插入图片描述
在这里插入图片描述

某些特定情况中,打印数据比Debug更方便快捷。

发布了3 篇原创文章 · 获赞 0 · 访问量 5

猜你喜欢

转载自blog.csdn.net/qq_39558634/article/details/105544048