目录
应用场景
查找错误时,用断点调试一步一步的看源码执行的过程,从而发现错误所在
重要提示
在断点调试(Debug)过程中,是运行状态,是以对象的运行类型来执行的
断点调式(Debug)过程中,是运行状态,是以对象的运行类型来执行的
eg :A extends B;B b = new A();b.xx();在调试时看运行类型A
定义
断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后程序员可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下,进行分析从而找到这个Bug,又叫Debug。
可以查看到java底层源代码的执行过程,提高程序员的Java水平
快捷键
F7(跳入)跳入方法体内执行 F8(跳过)逐行执行代码. |
shift+F8(跳出) :跳出方法 F9(resume,执行到下一个断点) |
运行图
和老师的IDEA 版本不同,所以有些细节不太一样
案例1
package com.hspedu.poly_.e1210;
public class Debug01 {
public static void main(String[] args) {
//演示逐行执行代码
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += i;
System.out.println("i=" + i);
System.out.println("sum=" + i);
}
System.out.println("退出 for....");
}
}
总结:当高光蓝条跳到下一行的时候才会显示上一行的结果
当蓝条跳到
for (int i = 0; i < 5; i++) {
这一行时,才会显示出变量 sum = 0
执行完毕后的显示
案例2
数组越界
package com.hspedu.poly_.e1210;
public class Debug02 {
public static void main(String[] args) {
int[] arr = {1, 10, -1};
//数组越界异常
for (int i = 0; i <= args.length; i++) {
System.ou