本文简单介绍IntelliJ IDEA中Debug的使用技巧,参考IntelliJ IDEA 简体中文专题教程,英文好的同学可以查看英文官网文档
Debug 设置
使用File -> Settings -> Build, Execution, Deployment -> Debugger
可以打开Debug设置界面,如下图
Transport
表示设置 Debug 连接方式,默认是 Socket
。Shared memory
是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,相对于 Socket
会快点
Debug 常用快捷键
快捷键 | 介绍 |
---|---|
F7 | 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 |
F8 | 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 |
F9 | 在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 |
Alt + F8 | 在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 |
Ctrl + F8 | 在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点 |
Shift + F7 | 在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法 |
Shift + F8 | 在 Debug 模式下,跳出,表现出来的效果跟 F9 一样 |
Ctrl + Shift + F8 | 在 Debug 模式下,指定断点进入条件 |
Alt + Shift + F7 | 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入 |
Debug 技巧
Debug 时查看对象的几种方法
1. 在Variables
窗口直接查看
2. 使用快捷键 Alt + F8
这种方法还可以对变量进行一定的加工,比如
或者
3. 拖动对象到 Watches
窗口
4. 鼠标悬停在对象上 2 秒左右
快速跳过后面的断点
当我们需要过掉后面的所有断点的时候,我们不需要去掉这些断点,只需要点击左下角Mute Breakpoints
,之后,所有断点变成灰色,然后我们再按快捷键 F9
即可过掉当前和后面所有的断点,如图
设置断点进入条件
1. 在断点上点击鼠标右键
2. 使用快捷键 Ctrl + Shift + F8
断点进入条件在对循环进行调试时会经常用到,常用于观察循环变量满足某一条件时的循环体执行情况
更复杂的步入条件
可以设置断点在跳过多少次后开始步入,这在循环中也比较常用,比如要查看一个变量循环 3 次后的结果,设置方法如下图
对于某些不重要的断点,只要步入一次就够了,就可以勾选Remnove once hit
,让它步入之后自动删除,如下图
对于某些场景的断点,需要其他断点先触发之后再进行触发,可以如下图选择。默认选择的是: None
从方法体中跳出
有时候当我们步入方法体之后,还想回退到方法体外。可以点击 Drop Frame
按钮实现,如下图
其他
如下图