IDEA Debug调试断点高级玩法

本文介绍了IDEA中的高级调试技巧,包括设置条件断点以只在特定情况下暂停,如循环偶数次或特定线程时;使用表达式解析功能快速检查代码逻辑和方法返回值;在调试时如何避免对资源的意外操作,如使用Force Return跳出有问题的方法;熟悉断点调试的快捷键和图标以提高效率;以及针对流式编程的断点调试策略,允许对行内表达式进行精细化调试。这些技巧能帮助开发者更高效地定位和解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、设置条件断点

打完断点,再次右键点击断点,可以设置
(断点只会在符合条件的情况下停顿,不会影响程序)

①只在循环为偶数的时候断点
在这里插入图片描述
②设置只在线程1的时候断点
Thread.currentThread().getName().equals(“thread1”)
在这里插入图片描述
③点击more可以更详细配置
在这里插入图片描述
勾选“Breakpoint hit”message 在断点触发了会打印断点信息
Stack trace 会同时打印队栈信息
在这里插入图片描述
**

二、表达式解析

**
调试程序,点击这个小计算器一样的图标,或者Alt+F8
在这里插入图片描述

在这里插入图片描述
就可以开始做表达式解析了,输入上文已创建的对象或者其他玩意解析

比如说这个地方有多个if else 的判断,可以用此来判断ture和false,或者看某个方法的返回值

三、避免操作资源

在某个出bug的问题代码块中,可能没有try,处理异常,可能就把错误数据存进了redis等数据库中,这时处理起来非常麻烦
在这里插入图片描述
比如在此时,调试过程中,发现了异常,想点stop结束程序,但是方法进入之后必须要出栈,方法内部的一些指令还是会走完,程序依然会运行完成,操作还是会继续

可能你会点击 Drop Frame,丢弃当前帧
在这里插入图片描述
但是,这只会回到调用方法前,之后继续走的话还是要执行此方法,陷入死循环

具体操作:
比如现在光标点位到了,不想执行的这一行
打开Frame面板,点击右键,Force Return,强制返回,会跳过该方法
在这里插入图片描述
在这里插入图片描述

四、断点调试的一些快捷键、图标

睡觉、待更
① 光标回到断点停顿的地方

② step over(F8 )
这行执行完毕就跳到下一行

③step into ⑤step out
③跳进方法体内 执行方法体内代码,⑤跳出方法体

⑦ run to cursor
从当前代码跳到光标处代码(中间代码依旧执行)

五、流式编程的断点调试

在这里插入图片描述
可以选择一行,还是里面的一个表达式

在这里插入图片描述

可以进行更精细的流式处理
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值