当前位置: 首页 > news >正文

idea中高级实用的调试技巧

条件断点,比如:遍历1个大List的过程中,想让断点停在某个特定值

    /*** 1、条件断点*/@Testpublic void test1() {for (int i = 0; i < 10; i++) {System.out.println(i);}}


 





异常断点,在程序中出现需要拦截的异常时,会自动定位到出现异常的那一行

    /*** 3、异常断点*/@Testpublic void test3() {Integer age = null;String s = age.toString();}

效果如下:自动定位到这行





强制返回,避免操作资源
场景:我们平时使用debug排查问题,但是我们debug代码有进行一些数据库资源操作或缓存操作等,很显然。这时候,我们就可以使用idea中”Force Return

    /*** 4、强制返回*/@Testpublic void test4() {m1();System.out.println("over");}public void m1() {System.out.println("a");System.out.println("b");//假如后面是一些其他的操作,比如数据操作,我们不希望执行,就可以使用debug中的强制返回,此方法中,断点后面的代码就不会执行System.out.println("c");}

效果如下





主动抛出异常,不改代码,调试时自己添加自定义异常,测试try-catch

    /*** 抛出异常*/@Testpublic void test5() {try {System.out.println("a");System.out.println("b");System.out.println("c");} catch (Exception e) {e.printStackTrace();}}

效果如下
 





5 Reset Frame,在Debug程序的时候,是否遇到过因为“下一步”按太快,而导致跳过了想要深入分析的那段代码?是不是很想要有“回到上一步”这样的操作呢

    /*** Reset Frame*/@Testpublic void test6() {m2();}public void m2() {System.out.println("a");System.out.println("b");System.out.println("c");}


效果如下


http://www.mrgr.cn/news/51749.html

相关文章:

  • 三色标记产生漏标问题的条件
  • 2、CSS笔记
  • 面试题:在 React 中如何绑定事件
  • 一篇文章带你搞懂总线舵机驱动电路
  • sky_take_out苍穹外卖开发(day-1)
  • Flutter SVG 图片加载速度提升 98% 的技巧
  • MinIO配置与使用
  • 如何在 JavaScript 项目中限制Node.js版本
  • QOwnNotes:开源界的黑马,专业人士的不二之选
  • mysql用户管理(user表列信息介绍,本质,管理操作),数据库的权限管理(权限列表,权限操作)
  • 探索人工智能在数学教育上的应用——使用大规模语言模型解决数学问题的潜力和挑战
  • 深度学习 %matplotlib inline
  • 微服务的特点
  • mysql学习教程,从入门到精通,sql序列使用(45)
  • 单细胞copyKat分析学习和整理
  • 节流函数throttle和防抖函数debounce
  • 2024_E_100_TLV解码
  • 51单片机的智能水箱液位控制系统【proteus仿真+程序+报告+原理图+演示视频】
  • 新乡医学院第一附属医院启动巨额医疗设备整体维保招标
  • linux证明变量扩展在路径名扩展之前执行