程序员必备技能----断点调试(IDEA版)
代码链接:https://download.csdn.net/download/qq_52354698/86248523?spm=1001.2014.3001.5503
1. 一个实际需求
- 在开发中,新手程序员在查找错误时,这时老程序员就会温馨提示,可以使用断点调试,一步一步的看源码执行的过程,从而发现错误所在。
- 重要提示:在断点调试过程中,是运行状态,是以对象的运行类型来执行的。
2. 断点调试介绍
- 断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。进行分析从而找到这个Bug。
- 断点调试是程序必须掌握的技能。
- 断点调试也能帮助我们查看java底层代码的执行过程,提供程序员的Java水平。
3. 断点调试的快捷键
F7
:跳入方法内
F8
:逐行执行代码
F9
:执行到下一个断点
shift + F8
:跳出方法
快捷键默认是这样的,可能由于版本的不同会有所不同,可以自行进行设置
4. 案例
1. Debug01 – 查看变量的变化
public class Debug01 {
public static void main(String[] args) {
int arr[] = {8, -9, 0, 20, 100};
for(int i = 0; i < arr.length; i ++ ) {
System.out.println("i = " + i);
}
}
}
2. Debug02 – 查看数组越界
public class Debug02 {
public static void main(String[] args) {
int arr[] = {8, -9, 0, 20, 100};
for(int i = 0; i <= arr.length; i ++ ) {
System.out.println("i = " + arr[i]);
}
}
}
3. Debug03 – 如何追溯源码
import java.util.Arrays;
public class Debug03 {
public static void main(String[] args) {
int arr[] = {8, -9, 0, 20, 100};
Arrays.sort(arr);
for(int i = 0; i < arr.length; i ++ ) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
}
}
如果点击进入不能进入源码的话,可以选择强制进入
4. Debug04 – 如何执行到下一断点
import java.util.Arrays;
public class Debug04 {
public static void main(String[] args) {
int arr[] = {8, -9, 0, 20, 100};
Arrays.sort(arr);
for(int i = 0; i < arr.length; i ++ ) {
System.out.println("arr[" + i + "] = " + arr[i]);
}
System.out.println("HELLO 1");
System.out.println("HELLO 2");
System.out.println("HELLO 3");
System.out.println("HELLO 4");
System.out.println("HELLO 5");
System.out.println("HELLO 6");
}
}