
缩⼩ bug 所在的范围,最终定位bug的准确位置。1.阅读代码与日志打印
2.使用工具
断点是调试过程中最重要的工具之一。在代码编辑器中,点击代码行号旁边的空白区域,即可设置断点。当程序运行到断点处时,会暂停执行,此时我们可以查看程序的执行状态。 eg:用下面这串代码举个例子
public class Test {
public static void main(String[] args) {
print(123);
}
public static void print(int n){
System.out.println(n);
}
}
方法一:鼠标右键,点击Debug…

方法二:点击工具栏中的调试按钮(这个虫子标志)如下图:

注意:当这里有多个项目时,需要选中 第一种方法就不用

(F8)
(F7)
Force Step Into 是一种强制步入功能,它允许调试器进⼊任何⽅法,包括那些通常会被 Step Into 功能跳过的⽅法。
快捷键:
Alt + Shift + F7与普通 Step Into 的区别:
(Shift + F8)eg:用下面这串代码举个例子
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = sum(a,b);
System.out.println(ret);
}
public static int sum(int x,int y){
System.out.println("hello");
return x + y;
}
}

快捷键:Alt + F9



快捷键:ctrl + F5



快捷键:ctrl + F2

Ctrl + Shift + F8
临时禁⽤所有断点的功能,⽽不需要逐个禁⽤或删除它们


标有 “Evaluate expression (Enter) or add a watch”,这⾥可以输⼊表达式进⾏求值或添加到监视列表



当⼀个代码需要满⾜某种条件进⾏调试,此时可以使⽤调试断点
eg:用下面这串代码举一个例子
public class Test {
public static void main(String[] args) {
for (int i = 0; i <= 500; i++) {
if(i == 100){
System.out.println(i);
}
}
}
}
求斐波那契数列的第 N 项
public class Test {
public static void main(String[] args) {
int f1 = fib(1);//第1项
int f2 = fib(2);//第2项
int f3 = fib(3);//第3项
int f4 = fib(4);//第4项
int f5 = fib(5);//第5项
int f6 = fib(6);//第6项
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
System.out.println(f4);
System.out.println(f5);
System.out.println(f6);
}
public static int fib(int n){
if(n == 1 || n == 2){
return 1;
}
int ret = fib(n-1)+fib(n-2);
return ret;
}
}
【总结】
本文介绍了Java调试的基础知识。通过掌握这些调试技巧和工具,可以大大提高我们排查Java代码问题的效率,使开发过程更加顺畅。在实际开发中,要根据具体情况灵活运用各种调试方法,不断积累调试经验,提升自己的编程能力。希望本文对你在Java调试方面有所帮助,祝大家编码愉快,bug-free!