Java笔记整理 —— 断点调试

本文详细介绍了Java编程中断点调试的概念、快捷键操作以及如何利用断点调试来解决异常、查看源码和理解动态绑定机制。通过设置断点,程序员可以深入理解代码执行流程,提升问题定位能力。同时,介绍了如何进入和退出方法,以及对象创建和方法调用的调试。断点调试是每个程序员必备的技能,有助于提升代码质量和效率。
摘要由CSDN通过智能技术生成

断点调试(debug)

简介

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

2. 断点调试是程序员必须掌握的技能。

3. 断点调试也能帮助我们查看Java底层源代码的执行过程,提高程序员的Java水平。

注:在断点调试的过程中,是运行状态,是以对象的运行状态来执行的。

快捷键

F7(跳入方法内)     F8(逐行执行代码)     shift + F8(跳出方法)     F9(resume,执行到下一个断点)    

调试异常

        int[] a = {1,2,3};
        for(int i = 0 ; i<4;i++ ){
            System.out.println(a[i]);  //在i=3时会报错
        }

查看源码 

方法1:使用 foce step into : 快捷键为 alt + shift +F7。

方法2:Settings --> Build,Execution,Deployment --> Debugger --> Stepping,把 Do not step into the classes 中的 java.* 和 javax.* 取消勾选。然后用Step into(F7)即可进入方法

退出方法查看用Step out(shift + F8)。 

语句跳跃

用 Resume Program(F9)可以将Debug跳转到下一个断点,中间的语句直接执行。值得一提的是——1. 可以用Step into 进入方法后,在方法里设置断点。2. 在Debug过程中也可以设置断点。

对象断点的应用

1. 可以用Debug查看对象创建的过程。

 用Step into 进入该对象中查看具体初始化方法。

默认初始化:

显示初始化:

构造器:

 

2. 可以用断点调试一步步查找到调用的方法。

用Step into进入 println 方法。

再用Step into方法进入 valueOf 这个方法。

发现 valueOf 调用了 toString 方法,用Step into进入 toString 方法。

最终找到了在Person类中重写的 toString 方法。

 3. 还可以用断点调试验证动态绑定机制

public class Person {
    public void run(){
        System.out.println("人类跑步");
    }
} //父类

public class Student extends Person{
    public void run(){
        System.out.println("学生跑步");
    }
}//子类

public static void main(String[] args) {
         Person a = new Student();//向上转型
         a.run();  //Step into
    } 

     Step into后发现调用的是学生的方法。按照向上转型的理论,不能调用子类独有的成员。当调用run方法时,根据动态绑定机制先从子类查找,而调用属性时,没有动态绑定,根据编译类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值