IDEA中的Debug模式的使用
测试代码
1 | public static void main(String[] args) { |
都打上断点如下:
点此开始debug
自动跳到断点处,并且在断点之前会有数据结果显示
操作说明
名称 | 快捷键 | 说明 |
---|---|---|
Step Over | F8 | 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内,跳到下一条执行语句 |
Step Into | F7 | 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则会进入该内嵌的方法中 |
Force Step Into | Alt + Shift + F7 | 强制进入某个其它类的方法、F7进不了的方法、它都能进 |
Step Out | Shift + F8 | 跳出该方法,回到原来地方 |
Resume Program | F9 | 跳出到下一个断点 |
问题:什么方法F7进入不了?
请在IDEA中查看File (menu) -> Settings -> Build, Execution, Deployment -> Debugger -> Stepping -> Do not step into the classes
中的配置。如下:
进入hello方法中查看执行过程:F7
下一步:F8
这里如果用F7,将直接略过、并不会进入HashMap的构造方法,如果想进入其构造方法,需要使用:Alt + Shift +F7
跳出此方法后回到new HashMap的地方,需要再按一次:Alt + Shift +F7
回到主代码:
这里才是感兴趣的地方,但是要进入其中,需要使用Alt + Shift +F7进入该类的方法其中:
但是在进入putVal前会先计算hash()、也就是先进入hash()这个本类的方法,所以F7后会进入hash()。
回到put后,再按F7将进入putVal,如下:
resize()啊,一定要去看一下,F7:
这些数据一目了然、看源代码的神器!!
先退出这一系列方法到main函数:Shift + F8
如果我想略过其中的system.out.pringln,直接到达下一个断点,F9即可:
基本的使用方法如上所述。
IDEA中的Debug模式的使用