IDEA断点调试(debug)

目录

1.断点调试介绍

2.F8逐行执行代码

3.调试遇异常

4.调试时如何看源码

5.如何直接执行到下一个断点 F9

6.利用断点调试查看动态绑定机制


1.断点调试介绍

断点调试是指在程序的某一行设置一个断点,调试时,程序运行到这一 行就会停住,然后你可以一步步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。进行分析从而找到这个Bug。

在断点调试过程中,是运行状态,是以对象的运行类型来执行的.

断点调试是程序员必须掌握的技能,能帮助我们查看java底层源代码的执行过程,提高程序员的Java水平。

断点调试常用快捷键
F7:跳入方法内 
F8: 逐行执行代码 .(重点分析)
shift+F8: 跳出方法

2.F8逐行执行代码

代码(2-1)

public class Text1 {
    public static void main(String[] args) {
        int sum=0;
        for (int i = 1; i <= 10; i++) {
            sum+=i;
        }
        System.out.println(sum);
    }
}

演示: 

F8逐行执行代码


3.调试遇异常

以数组越界的异常
代码(3-1)
public class Text {
    public static void main(String[] args) {
        int[] arr={1,2,3};
        for (int i = 0; i <= arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

演示: 

数组越界的异常


4.调试时如何看源码

使用 F7:跳入方法内 是看不到 源码的。想要看到源码我这提供两种方法。
方法1:
使用快捷键:alt+shift+F7;
方法2:

 配置:Setting- >Build,Execution,Deployment- >Debugger- >Stepping,把Do not step into the classes 中的java.*,javax.*取消勾选,其他随意。

如何调试看源码配置

  public static void main(String[] args) {
        int[] arr={0,-1,100,6,7};
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

代码(4-1) 

演示 看源码

看源代码演示

不想看了 shift+F8: 跳出方法

5.如何直接执行到下一个断点 F9

代码(5-1)

 public static void main(String[] args) {
        int[] arr={0,-1,100,6,7};
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

        System.out.println("a");
        System.out.println("b");
        System.out.println("c");
        System.out.println("e");
        System.out.println("f");
        System.out.println("g");
        System.out.println("h");
    }

演示:

如何直接执行到下一个断点


6.利用断点调试查看动态绑定机制

代码(6-1)

public class Text {
    public static void main(String[] args) {
        A a=new B();
        a.a();
    }
}

class A{
    public void a(){
        ab();
    }
    public void ab(){
        System.out.println("class A的方法");
    }
}

class B extends A{
  public void ab(){
      System.out.println("class B的方法");
  }
}

演示:

利用断点调试查看动态绑定机制


以上为我个人的小分享,如有问题,欢迎讨论!!! 

都看到这了,不如关注一下,给个免费的赞 

 

猜你喜欢

转载自blog.csdn.net/WHabc2002/article/details/132256653