IDEA之debug学习
1、debug用处:
-
采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。
-
通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。
-
在开发中,一般会直接启动Debug模式,方便随时调试代码。
2、
debug上侧共8个按钮,从左到右依次如下
- :如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
- :步过,一行一行地往下走,如果这一行上有方法不会进入方法。
- :步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
- :强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
- :步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
- :回退断点。
- :运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
- :计算表达式。
debug右侧侧共6个按钮,从上到下依次如下
- :重新运行程序,会关闭服务后重新启动程序
- :恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
- :暂停程序,启用Debug。
- :连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。
- :查看所有断点。
- :哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled。
3、变量查看
-
第一种: 在IDEA中,参数所在行后面会显示当前变量的值。
-
第二种:光标悬停到参数上,显示当前变量信息。
-
第三种:在Variables里查看,这里显示当前方法里的所有变量。
-
第四种:在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看。
4、计算表达式
-
这个表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值。
-
设置变量(也可查看),在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况
5、断点回退
-
所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法。
-
回退的方式有两种,一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法