IDEA工具第八篇:6个让你爱不释手的Debug技巧

发布时间 2023-12-15 10:04:37作者: mharvay

一、条件断点

循环中经常用到这个技巧,比如:遍历1个大集合或者数组的过程中,想让断点停在某个特定值。

【操作】debug运行指定方法后 | 在Debug小红点上右键 | Condition输入条件 | Done

二、返回上一步

该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,“下一步”按快了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。

【操作】debug运行指定方法后 | 在Debug面板有三个竖着的小点 | Reset Frame

⚠️⚠️⚠️IDEA 2022.1版本之后叫 Reset Frame,之前叫 Drop Frame

三、多线程调试

多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情,无法控制先后,运行时可能没什么问题,但是调试时最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,很是麻烦。
默认情况下
三个断点都挂起时,如愿的可以想在哪个断点处停留就在那里停留?

四、远程调试

远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口一定不要冲突且不能被占用,而且本机要允许访问远程端口
增加一个远程配置:Edit Configuration | + | Remote JVM Debug
配置详细说明 
启动脚本配置
远程服务器启动要加上以下内容(内容来源于上面选择不同JDK生成的命令)
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999
细节注意

①停在本地断点,关闭程序后会继续向下执行;

②像log日志打印只会打印在远程系统上;

③调试远程时,其他人访问调试接口时会卡在断点处;

五、临时执行表达式

调试时,可以临时执行一些表达式,针对变量作数学运算

六、临时修改变量运行值

调试时,想动态修改变量值,也很容易,在要修改的变量上右键 | Set value | 回车