断点调试是程序员的一个基本技能,有多重要不用我再说了吧😊。如果你之前使用过Eclipse的话,那么Eclipse当中的调试你应该都基本掌握了。其实,在IntelliJ IDEA当中,区别不大,等会我给大家简单演示一下,你就什么都知道了。
Debug的设置
首先,我们需要对IntelliJ IDEA做一个优化设置。大家进入到IntelliJ IDEA的设置界面中,展开左侧的Build, Execution, Deployment
这一项,这时,你会在其下面看到Debugger
,点一下它,你就能看到如下的界面了。
从以上界面中,你能看到Transport这一项默认选择的是Socket
模式,但是这里我们要给它勾选成Shared memory
这种模式,尤其是对于Windows系统来讲,勾选为后者的话,一定程度上可以节省我们的内存空间,这是IntelliJ IDEA一个优化层面的设置哟😊,弄好之后,点击OK
按钮即可。
断点调试,您会吗?
常用断点调试快捷键
在我为大家演示断点调试之前,先给大家介绍一下IntelliJ IDEA断点调试的几个基本操作,这几个操作,想必大家要是用过Eclipse的话,应该都是比较熟悉了,这几个操作分别是:
如果大家之前没有使用过这些断点调试操作的话,那么我就为大家简单举一个小例子介绍一下吧😀,希望大家能够看得懂!
不知道小时候大家有没有玩过超级玛丽,我就以超级玛丽为例子来讲述了,如下图所示。
如果我们现在执行的是叫step over
(over
其实就是略过的意思)的操作,那么此时程序并不会进入方法体内。比方说程序现在运行到一行代码处了,不管这行代码调用的是一个方法也好,还是一个什么构造方法也好,执行step over
操作,程序都不会进入到方法体内,这就好比是超级玛丽直接就跳到第一个井盖上了,而且并不会进去井盖里面。
如果你要是再执行step over
操作,那么程序就直接跳到下一行代码处了,这就好比是超级玛丽又跳到了下一个井盖上,注意,此时超级玛丽并不会进去井盖里面哟~
现在,你该知道step over
操作的意思了吧😝
step into
和force step into
这两操作的意思是一样的,从into
就能知道这两操作都会进入到方法体内。这是什么意思呢?假设超级玛丽此刻是站在了第一个井盖上,如果现在执行的是step into
或者force step into
操作,那么就好比是超级玛丽会跳进到这个井盖里面,如下图所示。
超级玛丽从井盖里面跳进去之后,就要开始闯第二关了,我还清楚地记得,超级玛丽过第二关的时候应该是在水下,好久没玩这个游戏了,也不知道是不是这样了。
超级玛丽从井盖上跳进去之后,它也要能从井盖中跳出来呀,你说是不是的啊😝!如果现在执行的是step out
操作,那么就好比是超级玛丽从第二个井盖中跳出来了,如下图所示。
有的时候,当我们执行step into
操作进入某一个方法或者某一个构造方法里面去查看其内部代码的一个执行情况之后,还得要从其方法体内跳出来,执行后续的代码,此时,就得执行step out
操作从方法体内跳出来了。
resume program
操作是啥子意思呢?它说的是这个意思,比如说我们在第三个井盖处设置过一个断点,在第五个井盖处也设置过一