输入快捷键
- psvm --------- main方法
- sout --------- System.out.println();
取消大小写敏感
取消大小敏感,在编写代码的时候,代码的自动提示将更加全面和丰富
debug调试页面介绍
-
调试按钮:调试的主要功能就对应着这几个按钮,鼠标悬停在按钮上可以查看对应的快捷键。在菜单栏Run里可以找到同样的对应的功能
-
服务按钮:可以在这里关闭/启动服务,设置断点等。
-
方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All Frames]按钮,就不会显示其它类库的方法了,否则这里会有一大堆的方法。
-
变量区:在变量区可以查看当前断点之前的当前方法内的变量。
-
Watches:查看变量,可以将Variables区中的变量拖到Watches中查看
断点对话框
调试按钮
Alt + F10 (定位当前断点):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
F8 (向下执行一行):步过,一行一行地往下走,如果这一行上有方法不会进入方法。
F7 (进入当前方法):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
Alt + Shift + F7 (强制进入当前方法):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
Shift + F8 (执行完当前方法):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
Drop Frame(回退到上一个方法调用栈):回退断点,已赋值或插入数据的操作不会回退,单纯断点回退。
Alt + F9 (运行到光标处):你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
Alt + F8 (计算变量或表达式的值):执行某段代码,并展示返回值。
服务按钮
- 重新运行程序,会关闭服务后重新启动程序。
- 修改运行配置。
- F9:恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
- 暂停程序,启用Debug。
- Ctrl + F2:连续按两下,关闭程序。
- Ctrl + Shift + F8:查看所有断点,打开断点对话框。
- 让所有断点失效:哑的断点,选择这个后,所有断点变为灰色,断点失效。如果只想使某一个断点失效,可以在断点上右键取消Enabled
变量查看
- 参数所在行后面会显示当前变量的值
- 光标悬停到参数上,显示当前变量信息。
- 在Variables里查看,这里显示当前方法里的所有变量,也可以修改非final变量。
- 在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看
设置条件断点
-
在断点上右键直接设置当前断点的条件
-
点击View Breakpoints (Ctrl + Shift + F8)在断点对话框设置
Java Line Breakpoints 显示了所有的断点,在右边勾选Condition,设置断点的条件。
勾选Log message to console,则会将当前断点行输出到控制台
勾选Evaluate and log,可以在执行这行代码是计算表达式的值,并将结果输出到控制台。
异常断点
通过设置异常断点,在程序中出现需要拦截的异常时,会自动定位到异常行。
点击+号添加Java Exception Breakpoints,添加异常断点。然后输入需要断点的异常类
临时断点
一般调试的时候,我们会在代码行使用断点,然后运行测试,等到程序遇到断点暂停时,查看相关变量内容。
在 IDEA 中,默认断点将会一直存在。有时候仅仅想需要暂停第一次,临时查看,这个时候我们可以使用临时断点。
使用快捷键 Ctel + Alt + Shift +F8 可以快速创建临时断点或者按住 ALt,然后再创建断点。
断点回退
回退的方式有两种:
- 一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法)。
- 第二种方式,在调用栈方法上选择要回退的方法,右键选择Drop Frame,回退到该方法的上一个方法调用处,此时再按F9,可以看到程序进入到该方法的断点处了。
但有一点需要注意,断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变了的是无法回退到之前的状态的,如对象、集合、更新了数据库数据等等。
中断Debug
想要在Debug的时候,中断执行,点击Force Return,弹出Return Value的窗口,我这个方法的返回类型为Map,所以,我这里直接返回 results,来强制返回,从而不再进行后续的流程。返回的时候可以设置返回值。
多线程调试
IDEA在Debug时默认阻塞级别是ALL,会阻塞其它线程,只有在当前调试线程走完时才会走其它线程。可以在View Breakpoints里选择Thread,然后点击Make Default设置为默认选项。
切换线程,在Frames的下拉列表里,可以切换当前的线程,切换另外一个则进入另一个Debug的线程。