IntelliJ-IDEA使用技巧之Debug
Debug常用断点调试快捷键
图标 | 快捷键 | 作用 |
---|---|---|
F8 | Step Over:步过,一行一行地往下走,如果这一行上有方法不会进入方法。 | |
F7 | Step Into:步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。 | |
Alt+Shift+F7 | Force Step Into:强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。 | |
Shift+F8 | Step Out:步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。 | |
Alt+F9 | Run to Cursor:运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。 | |
Ctrl+F2 | Stop ‘xxx’:停止运行 | |
Ctrl+Shift+F8 | View Breakpoints:查看所有断点 | |
Mute Breakpoints:选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。 | ||
F9 | Resume Program:恢复程序,如果下面还有断点则运行到下一个断点。 | |
Drop Frame:断点回退,断点会回退到我们打断点的位置。 |
条件断点
在我们打断点的地方鼠标右击,然后在condition输入框里面输入条件
求值表达式Evaluate Expression
在断点调试过程中,我们想查看某些变量或某些对象的属性值,我们可以通过快捷键Alt+F8打开表达式求值
setValue
Intellij IDEA在debug模式下可以改变变量的值,下面这段代码为例,比如我们想看看i=12时会输出什么
此时i==5,我们把i设置成12
按快捷键F8看看i是否会进入if条件里面
异常断点
Java Exception Breakpoints可以使当程序遇见被选择的异常时,自动停在相应异常的位置处。
如下面这段代码
加上条件断点,使用快捷键Ctrl+Shift+F8或者点击图标
再使用Debug模式来运行程序,当程序出现异常,会之间停留在我们出现异常的代码处
避免操作资源
如上图所示,我们在断点调试时,后续的一些操作可能会涉及操作一些资源,我们又不想后面的代码执行,直接让代码终止。通常我们想到的是点击终止按钮
但是点击这个按钮之后后续的操作还会执行,如下图所示
Debug调试界面,选择正在运行的Stack,鼠标右键选择Force Return,如下图所示
上面的操作完成之后,代码会跑到Thread.java类中的exit()方法里。再点击
程序就运行结束。我们就会看到后续的操作并没有执行