IDEA 调试技巧,比 Eclipse 强太多了

★★★建议星标我们★★★
IDEA 调试技巧,比 Eclipse 强太多了文章插图
IDEA 调试技巧,比 Eclipse 强太多了文章插图
2020年Java原创面试题库连载中
【000期】Java最全面试题库思维导图
【020期】JavaSE系列面试题汇总(共18篇)
【028期】JavaWeb系列面试题汇总(共10篇)
【042期】JavaEE系列面试题汇总(共13篇)
【049期】数据库系列面试题汇总(共6篇)
【053期】中间件系列面试题汇总(共3篇)
【065期】数据结构与算法面试题汇总(共11篇)
【076期】分布式面试题汇总(共10篇)
【077期】综合面试题系列(一)
【078期】综合面试题系列(二)
【079期】综合面试题系列(三)
【080期】综合面试题系列(四)
【081期】综合面试题系列(五)
【082期】综合面试题系列(六)
【083期】综合面试题系列(七)
【084期】综合面试题系列(八)
【085期】综合面试题系列(九)
【086期】综合面试题系列(十)
【087期】综合面试题系列(十一)
【088期】综合面试题系列(十二)
【089期】综合面试题系列(十三)
更多内容 , 点击上面蓝字查看
IDEA 调试技巧,比 Eclipse 强太多了文章插图
来源:一、条件断点循环中经常用到这个技巧 , 比如:遍历1个大List的过程中 , 想让断点停在某个特定值 。
IDEA 调试技巧,比 Eclipse 强太多了文章插图
参考上图 , 在断点的位置 , 右击断点旁边的小红点 , 会出来一个界面 , 在Condition这里填入断点条件即可 , 这样调试时 , 就会自动停在i=10的位置
IDEA 调试技巧,比 Eclipse 强太多了文章插图
二、回到"上一步"该技巧最适合特别复杂的方法套方法的场景 , 好不容易跑起来 , 一不小心手一抖 , 断点过去了 , 想回过头看看刚才的变量值 , 如果不知道该技巧 , 只能再跑一遍 。
IDEA 调试技巧,比 Eclipse 强太多了文章插图
参考上图 , method1方法调用method2 , 当前断点的位置j=100 , 点击上图红色箭头位置的Drop Frame图标后 , 时间穿越了
IDEA 调试技巧,比 Eclipse 强太多了文章插图
回到了method1刚开始调用的时候 , 变量i变成了99 , 没毛病吧 , 老铁们 , 是不是很6 :)
注:好奇心是人类进步的阶梯 , 如果想知道为啥这个功能叫Drop Frame , 而不是类似Back To Previous 之类的 , 可以去翻翻JVM的书 , JVM内部以栈帧为单位保存线程的运行状态 , drop frame即扔掉当前运行的栈帧 , 这样当前“指针”的位置 , 就自然到了上一帧的位置 。
三、多线程调试多线程同时运行时 , 谁先执行 , 谁后执行 , 完全是看CPU心情的 , 无法控制先后 , 运行时可能没什么问题 , 但是调试时就比较麻烦了 , 最明显的就是断点乱跳 , 一会儿停这个线程 , 一会儿停在另一个线程 , 比如下图:
IDEA 调试技巧,比 Eclipse 强太多了文章插图
如果想希望下一个断点位置是第2句诗句 , 可能要失望了:
IDEA 调试技巧,比 Eclipse 强太多了文章插图
如果想让线程在调试时 , 想按自己的愿意来 , 让它停在哪个线程就停在哪个线程 , 可以在图中3个断点的小红点上右击 ,


推荐阅读