⼀、多线程调试断点
Intellij IDEA 的debug断点调试是有⼀个模式的选择的,就像下⾯这张图,平时我们都使⽤的是默认的 ALL(在Eclipse中默认是线
程模式) ,这种模式我们只能将⼀个线程断下来,但其他线程却已经执⾏过了;⽽将其改为 Thread 后,就可以多个线程都断下来,并且可以很⽅便的切换线程的执⾏流程,这就是多线程调试。
在debug控制台能够很⽅便的查看线程的执⾏状态,也可以很⽅便的选择某个线程去执⾏:
⼆、回退断点
不知道⼤伙有没有遇到这样⼀个问题,当我们进⾏debug时,通常不会进⼊某个⽅法⼀步⼀步的执⾏,⽽是选择性的跳过;当你想要回头观察某个变量的值得变化时,⽽你刚好没有跟进去,跳过了这个⽅法,这个时候,变量就被赋值了,我们通常的做法是重来⼀次。
其实IDEA的调试功能是⾮常强⼤的,我们来看看熟悉的调试窗⼝:
使⽤红⾊框框出来的部分,表⽰当前程序执⾏到哪⼀块,哪⼀部分,你可以尝试⽤⿏标点点看,你会发现编辑器会跳转到对应的代码中,当然当前断点的位置通常会在列表的第⼀条。然后我们使⽤右键单击,你就可以看到如下图所⽰:
或者你也可以在下图中找到 Drop Frame:
在IDEA中,所谓的回退,叫 Drop Frame,选择Drop Frame后,程序会跳转回调⽤当前这个⽅法的地⽅,当然已经改变的值是不会恢复的。但是当该⽅法再次被调⽤时,你可以观察到某个变量什么时候被改变,⾄少我们不⽤再去重新运⾏⼀遍程序。三、条件断点
条件断点就是当满⾜某个条件(通常是表达式)时,debug断点才会⽣效;这在循环中debug是⾮常有⽤的;例如我们想要在循环体中调试:当某个变量满⾜某个条件时,需要断点调试,来查看详细的执⾏流程及变化情况。
我们说过,IDEA中的debug功能是⾮常强⼤的,要使⽤条件断点也⾮常简单,下⾯这张图⽚中 Condition中的内容代表当name为eamon:23时,程序执⾏到断点处停下来。
有了条件断点,这样⼀来,那些不相关和我们不关⼼的代码就可以直接跳过了。四、临时断点
所谓临时断点就是只断⼀次,IDEA默认断点会⼀致存在。如果你只需要暂停⼀次,那么使⽤临时断点会⽐较⽅便,因为暂停⼀次之后断点就⾃动消失了,不⽤⼿动取消。
临时断点可以通过在打断点时按住 Alt 或者 option 键,然后创建断点。也可以通过右键断点处,选择 more 然后在窗⼝中选中
Remove once hit
五、求值计算
求值计算功能在我们debug过程中,可以很⽅便的查看程序中所有变量的值,也可以临时修改程序中变量的值,这个功能能在⼀定程度上辅助我们进⾏代码调试。这个功能可以在debug时在debug窗⼝打开:
打开后是这样的:
然后你就可以在表达式输⼊框中,输⼊你想要的操作,⽐如,查看变量、修改变量(临时的)、调⽤某个⽅法等;这些操作结果将会在下⽅的Result 窗⼝中输出。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
因篇幅问题不能全部显示,请点此查看更多更全内容