一、调试
- 追踪代码的运行流程。
- 程序运行异常定位。
- 线上问题追踪。
调试的意义: - 通过调试能够更好的查看程序的执行流程。
- 复杂的程序逻辑,通过口述讲解,很难理解清楚,这个时候借助调试能够很好的帮助自己理解程序。
- 定位问题,提高自我解决问题的能力。
二、调试的步骤
1、设置断点
2、调试程序
(Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行
作用:使程序窗口切换到当前正在运行的程序处。
(F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法
作用:
- 步过,一行一行地往下走,如果这一行上有方法不会进入方法。
- 常用于调试过程中不想进入调用的方法体的情况。
(F7):步入。如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
作用:
-
步入,一行一行地往下走,如果这一行上有方法,则进入方法内部。
-
一般用于进入自定义方法内,不会进入官方类库的方法。
(Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
作用:
- 帮助我们学习和查看JDK源码
(Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
作用
- 从方法内退出到方法调用处。
- 调试的时候,有时候会跳入到自己不想查看的方法体,这个时候使用步出。
回退断点。
作用:
-
回退到当前方法的调用处。
-
当想重新查看该方法体的执行过程时,不用重新启动Debug,可以使用回退断点方式。
(Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
作用
- 使程序运行到光标处,而无需设置断点。
(Alt + F8):计算表达式。
作用:
- 设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了。
条件断点
运用==运算符,设置条件断点,即在满足这个条件时才进入这个断点。
-
作用
- 通过设置断点条件,在满足条件时,才停在断点处,可以一步跳入到自己想要的地方从而进一步调试。否则直接运行。
三、查看变量
查看变量有三种方式:
- 程序区查看变量
- Debugger的Variables中查看变量
- 鼠标悬停到变量名上会弹出当前变量的值
![在这里插入图片描述](https://img-blog.csdnimg.cn/4394db964c2b43a990110f081589a25e.png
改完断点条件弄这个resume,可以在下个断点间跳
心得:
调试项目的代码时要有点耐心,有些方法里面打个断点更好的进去知晓其逻辑。里面的变量和注释要仔细阅读。
有时候看久了会心累。
不过熟练的调试能力还是很重要的,让工作事半功倍。
注意鼠标的位置,按进入是不一样的。
drop不出时,我就跳出方法
for循环的话,你就跳到最后好了,他反正会循环。