1.行断点
在要打断点的那一行左侧,鼠标左键点击,debug模式运行程序,就会跳到那一行。
点resume Program跳过可以这个断点,跳到下一个打断点的地方。
2.详细断点(源断点)
按住shift,然后点鼠标左键,出现这个面板,点击Done,debug模式运行。然后控制台会有输出表明断点是哪一行被触发的,触发断点具体的类和方法。
Suspend用于多线程调试,ALL运行到这个地方就会停止,Thred运行到当前线程就会停止。
Condition是判断条件,当触发了某个条件才会停止。
3.方法断点(接口跳转实现类)
方法断点是一个菱形的断点,断点跳的时候会在方法的第一行停顿和方法的最后一行停顿。可以查看方法体内变量的变化,表达式的变化、以及方法的解析。
可以在接口打一个方法断点,因为方法可能有很多的实现类,不知道哪一个实现类出现问题,就可以在接口打一个断点,然后它会自己跳到有问题的实现类里。
4.异常断点(全局捕获)
mac:command+shift+f8调出这个控制面板(点击idea 面板左下方的view Breakpoints按钮),点+号,添加NullPointerException,然后以debug模式运行,代码就会在有NullPointerException的行上面停住。
5.字段断点(读写监控)
关注字段值变化的断点。
6.条件表达式
在断点上右键,就会弹出这个框,在Condition里写下条件,比如本次是断点在i为偶数的时候停下来,此时不管是奇数还是偶数都会输出,但是断点会在i是偶数的时候停下来。也可以用在线程调试的时候,专门关注某个线程。
7.表达式解析
点击下方的计算器,出现框框,在框框里输入表达式即可,实时表达式解析。
8.避免操作资源 | force return
程序跑到了某一个步骤,下面的步骤不想执行了,因为有的时候,后面执行的步骤可能会把数据写到数据库、redis或者把消息发送到mq,会产生不必要的麻烦。此时可以使用force return来直接返回。
9.快速跳转的快捷键
有的时候代码比较长,滑到了别的地方,可以点这个按钮直接跳回到现在断点所处的位置。
10.step over、step into、step out、force step into
step over:一行一行的跳。
step into:如果该行有自定义方法,就跳到自定义方法里,step out:回到之前的自定义方法的下一行。
force step into:该按钮在调试的时候能进入任何方法。
11.run to cursor
打断点的时候中间有很多行代码不想一行一行地执行,点这个按钮后就直接跳到光标所指的行。
12.Java8的断点调试 Trace Current Stream Chain
先选择line模式,然后点击下面的Trace Current Stream Chain按钮就可以进行Java8的断点调试。
参考:
https://www.bilibili.com/video/BV1ur4y1P7SV?spm_id_from=333.999.0.0
https://www.bilibili.com/video/BV12f4y1s7UZ/?spm_id_from=333.788.recommend_more_video.0