由于 IDEA 每个人使用的版本不同以及快捷键的设置不同,所以忽略了快捷键的使用。如果不知道快捷键请在 IDEA 工具栏里面点开 Run 菜单即可知悉
下面咱们进入看图说话环节,下列图标小伙伴知道是啥功能么?日常开发进行 Debug 使用到哪一些呢?可能也就那一半左右吧!
显示当前执行点,可以清晰地从图标中看出意思,红色的箭头上面执行完了,箭头下面的是将要执行的内容。那么这个有啥功能呢?从下面的动图可以看到当停留在断点的时候切换到 System 类里面,通过点击此图标即可回到当前断点停留的地方(如果记住快捷键了连鼠标都不用点了)。你是不是还在通过点击 Debugger 下的 Frames 里面的断点调用链来回到当前断点停留的地方呢?赶快使用 Show Execution Point 功能吧!
单步执行,如果有方法则不进入方法(除非方法里面有断点)
单步执行,如果有方法则进入方法(请检查你的 IDEA Debugger 里面的设置,一些包里面的方法使用 Step Into 也进不去,可以把下面的 Do not step into the classes 勾取消即可)
基本与 Step Into 功能相同,不同点就是可以强制进入那些 JDK 源码里面。不需要如上面的 Do not step into the classes 设置。
跳出当前所在的方法,返回调用此方法的地方。
执行到光标所在位置,可以跳过中间需要执行的代码。
丢弃当前方法,回退上一个方法。如果是 main 方法则不会激活此图标。学”废“了这个妈妈再也不用担心我一不小心错过了断点,还需要重新来啦。
对当前 Stream 进行链路追踪,喜欢用 JDK 8 新特性 Stream 来编程的小伙伴可以使用这个功能,谁用谁知道!
表达式计算,Debug 功能里面最牛逼的功能,不接受反驳!一切皆可使用这个功能。
在Java开发中,使用IntelliJ IDEA进行调试时,可以使用多种类型的断点来帮助开发者进行调试。以下是其中一些常用的断点类型:
在代码的某一行设置断点,当程序执行到该行时会触发断点暂停程序。
在特定条件下触发断点的暂停,开发者可以指定一个条件,当满足条件时程序会在该断点暂停。
比如上面的例子,我想定位到数据库中哪条数据有问题是负数导致了我的总数也负了
如下图,我们可以看到,断点卡在了负数分数的对象上
当特定类型的异常被抛出时暂停程序,可以帮助开发者快速定位异常抛出的位置。
在属性上打上断点,用于监控属性的变化
当程序执行到特定方法时暂停程序,可以用来追踪方法的调用情况。
以上是在IntelliJ IDEA中常见的几种断点类型,开发者可以根据实际调试需求选择合适的断点类型来辅助调试。
这个直接上需求解释,日常调试中,我想知道一个循环中的每次变量值,请问怎么办?
可以在断点的more里进行设置
在多线程的场景下,我们如果想单独调试某个线程的断点,而被其他线程影响.
我只是想调试下面的线程,而不想上面的线程执行影响我,那么我只需要打上多多线程断点即可,操作如下
用于java8+等版本的stream使用时的断点,可以充分展示每个链式操作的数据流转过程
用于方法级别的调试时,回退到方法的进入之前,用于手速太快,不想重启,想重新执行一次断点的场景
ps:(1.一定要是方法调用,2.引用对象不建议使用,回退后对象的内容会发生改变)
如下,我们可以看到回退后,基本数据类型sum,从2回退到了0,可以重新进入方法
可以查看当前方法里面的变量信息,右键变量可以操作变量里面的值或者复制出来以及新建 Watch 等
调试时,可以临时执行一些表达式,参考下图:点击这二个图标中的任何1个都可以
然后回车,马上就能看到结果
当然,如果调试时,想动态修改变量的值,也很容易,在变量上右击,然后选择Set Value,剩下的事,地球人都知道。
【精选】玩转 IDEA Debug 功能_idea lambda 断点-CSDN博客
关于idea的八种断点调试_idea断点调试_张名佳的博客-CSDN博客