IDEA中Debug调试小结

debug界面

在调试代码的时候,你的项目需要进入debug模式,也就是点击那个绿甲虫按钮启动程序,然后就可以在代码里面断点调试了。
下图是IDEA中debug模式下的界面。
在这里插入图片描述

  1. Rerun(Ctrl+F11):程序项目重启,重新运行。
  2. Update(Ctrl+F10):更新应用程序,点击之后会有如下弹窗。有3个选项:Hot Swap classes,根据描述猜测为可以对修改的java文件热更新;Redeploy,重新发布;Restart server,和ReRun效果一样。
  3. Resume Program(F8):恢复运行,使程序无视所有断点正常运行。
  4. Pause Program:暂停程序运行。
  5. Stop(Ctrl+F2):停止结束掉程序项目。
  6. View BreakPoint(Ctrl+Shift+F8):查看所有断点情况。
  7. Mute BreakPoint:屏蔽断点,是所有断点失效。
  8. Get thread dump:猜测为复制一份线程镜像,使其多个线程同时执行。
  9. Restore Layout:恢复Debug窗口默认布局。
  10. Settings:Debug设置,如图有以下设置:
  11. Pin Tab:固定标签。
  12. Show Execution Point(Alt+F10):跳转到程序正在执行的地方,当浏览其他地方的代码后忘记 程序执行到哪了或找起来麻烦时相当实用。
  13. Step Over(F6):下一步(最基本的)。
  14. Step Into(F5):进入方法内(最基本的)。
  15. Force Step Into(Alt+Shift+F7):进入方法内,包括jdk和第三方jar里的方法。
  16. Step Out(F7):跳出方法,和Step Into相对的(最基本的)。
  17. Drop Frame:跳出方法,和Force Step Into相对的。
  18. Run to Cursor(Ctrl+R):运行至光标处,前提是中间没有断点。在距离下一处要调试的地方使用可以避免多次F6,也可以通过额外再加断点解决。
  19. Evaluate Expression(Ctrl+U):一个或多个变量通过表达式或代码计算。

条件断点

循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。
在这里插入图片描述
参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置。
在这里插入图片描述

回到上一步

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

在这里插入图片描述
参考上图,method1方法调用method2,当前断点的位置j=100,点击上图红色箭头位置的Drop Frame图标后,回到上一步。
在这里插入图片描述
回到了method1刚开始调用的时候,变量i变成了99。
注:好奇心是人类进步的阶梯,如果想知道为啥这个功能叫Drop Frame,而不是类似Back To Previous 之类的,可以去翻翻JVM的书,JVM内部以栈帧为单位保存线程的运行状态,drop frame即扔掉当前运行的栈帧,这样当前“指针”的位置,就自然到了上一帧的位置。

临时执行表达式/修改变量的运行值

调试时,可以临时执行一些表达式,参考下图:点击这二个图标中的任何1个都可以。
在这里插入图片描述
点击+号后,就可以在新出现的输入框里输入表达式,比如i+5。
在这里插入图片描述
然后回车,马上就能看到结果。
在这里插入图片描述
当然,如果调试时,想动态修改变量的值,也很容易,在变量上右击,然后选择Set Value。
在这里插入图片描述

更加详细的debug教程:IDEA debug断点调试技巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值