IDEA看源码的几个小技巧

分享 4 个阅读源码必备的 IDEA 调试技巧 相信有以上四种调试技巧的加成,无论是工作debug 还是私下阅读源码,都可以轻松驾驭了。最后,来看看 IDEA 支持的各种断点调试类型,如果你只知道红色小圆点,那咱在留言区好好说说吧微信搜后端学习指南或扫描下方二维码关注公众号,回复222即可免费领取。 阅读详情

本文公众号来源:肥朝    本文作者:肥朝


Get到了几个在IDEA下看源码/Debug小技巧,之前一直没注意到这些小技巧,感觉还是很有用的,分享一下。

1.条件断点

看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达数百个.但是我们只想debug一种情况.肥朝就曾经见过,在for循环中打了断点,一直按跳过,按了数十下之后.才找到自己想debug的值.这样效率不高

比如下文这个

1@Test2public void testList() throws Exception {3    List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);4    for (Integer integer : list) {5        System.out.println(integer);6    }7}@Test
2public void testList() throws Exception {
3    List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
4    for (Integer integer : list) {
5        System.out.println(integer);
6    }
7}

如果你想debug数字10这种情况,如果你不知道条件断点,那么你可能要一直点9次跳过.我们来看一下条件断点的使用

640?wx_fmt=png


这样,就只有满足条件的时候才会进入断点了,告别无效的小手一抖!

2.强制返回值

比如SpringBoot中这个打印Banner的.我们想调试多种情况.就可以利用这个Force Return,这样方便我们调试源码中的多种分支流程

640?wx_fmt=png


3.模拟异常

在做业务开发中,我们有时需要模拟某个方法抛出异常,看看自己的代码是不是像肥朝一样可靠得一逼.但是你每次去写死一个异常,然后再删掉,这种低效的方式有违极客精神.那么我们如果让一个方法抛出异常呢?

640?wx_fmt=png

不过要注意的一点是,这个功能印象中是IDEA 2018年以后的版本才有的功能.

4.Evaluate Expression

比如我们看源码时遇到这个一个场景,这里有一个byte[],但是我们就想看一下这个的值到底是啥.

640?wx_fmt=png


那么我们可以这么操作一波

640?wx_fmt=png


这个功能的使用场景非常的广,通过这个功能,可以在看源码时,给某个变量赋我们要想的值,从而改变代码的分支走向等等.总之,这个是肥朝看源码中,使用频率最高的功能之一.更多场景,等待老司机们自己调教!

5.toString的坑(重点)

相信看过Dubbo源码的朋友都会遇到过这个一个坑.也就是你把断点打在下面图示的第一个箭头的时候,是无法进入init()方法的.但是你把断点打在第二个箭头也就是init()方法的时候,是能进入的.曾经也有不少人问过这个问题.

640?wx_fmt=png


640?wx_fmt=jpeg


当然除了这个坑之外,也有类似的坑,如下

640?wx_fmt=png


所以这个idea的默认设置.建议在一定条件下还是关闭

640?wx_fmt=jpeg

转发到朋友圈是对我最大的支持!640?

推荐阅读:


IDEA断点常用5种方式——条件断点(循环)、回退、表达式执行、中断(不执行后续代码)、指定异常(常用寻找空指针位置) IDEA断点常用5种方式——条件断点(循环)、回退、表达式执行、中断、指定异常(常用寻找空指针位置) 阅读详情

相关推荐

IDEA阅读Spring源码

一.环境准备 操作系统及开发环境:Mac JDK1.8 由于Spring源码是采用Gradle这种自动化构建工具构建,因此还需要安装Gradle 二.编译步骤 下载源码 源码地址:Spring源码地址 或者直接拉取代码:git clone https://github.com/spring-projects/spring-framework.git 进入项目目录:cd ./spri...

wleng的博客 1355

IDEA设置、快捷键、插件

IDEA设置、快捷键、插件

xxdboom的博客 1230

仿微信H5跳一跳小游戏源码

H5跳一跳3D在线游戏,品牌推广的趣味小游戏或者自建在线抽奖游戏,集聚人气,提高知名度。跳一跳是最近很火的网络小游戏,值得深入学习和研究。 本源码提供完整的素材和音乐音效,支持语音同步播放,界面生动活泼,趣味十足,在Apache服务器上直接拷贝就能运行,完整再现跳一跳新版游戏,娱乐性十足,在企业推广和展会上吸引人气,其他用户关注度,具有很好的宣传推广价值。

idea断点调试

本文介绍idea常见的断点方式。本地断点和远程断点,本地断点介绍条件断点,异常断点,和断点回退常的调试以及操作说明

Zephyrzh的博客,关注【蚕师】成为大厂技术人 3081

手把手教你用P-MOS管搭建双电源自动切换电路(含AO3401选型指南)

本文提供了一份基于P-MOS管AO3401构建高可靠双电源自动切换电路的实战指南。文章详细对比了继电器、理想二极管与MOS管方案的优劣,深入解析了AO3401的关键参数选型,并手把手指导了从原理图设计、PCB布局到上电调试的全过程,旨在帮助硬件工程师和创客以极低成本实现无缝、高效的电源冗余方案。

moss5的博客 1234

馈电网络设计:通过Smith圆图工具完成微带线到同轴探针的阻抗匹配

Smith圆图通过图形化阻抗变换路径,显著简化微带线到同轴探针的匹配设计。设计需结合理论计算(微带线阻抗公式、探针等效模型)、圆图操作(串联/并联元件移动规则)及仿真验证,最终实现宽带低反射匹配。

百态·数智思维 | 聚焦大数据、量化与未来AI 1106

h5跳一跳源码无法本地运行_IDEA看源码的几个小技巧

本文公众号来源:肥朝 本文作者:肥朝Get到了几个在IDEA下看源码/Debug小技巧,之前一直没注意到这些小技巧,感觉还是很有用的,分享一下。1.条件断点看源码的时候,经常遇到这个情况,源码中有个for循环,关键是这个list的size有时候长达数百个.但是我们只想debug一种情况.肥朝就曾经见过,在for循环中打了断点,一直按跳过,按了数十下之后.才找到自己想debug的值....

weixin_39967598的博客 112

Voronoi算法构建多晶

孪晶多晶 采用孪晶的原子链作为种子通过voronoi算法可以得到孪晶多晶结构。 孪晶种子: txt文件不需要特殊设置 box 150 150 150 random 8 得到孪晶多晶: 通过改变孪晶种子的长度可以得到不同孪晶片层厚度的多晶。 准二维柱晶 所有晶粒在某一维度的晶向一致,晶粒仅在平面内具有旋转关系,所有晶界为旋转对称晶界,这种结构的多晶其位错滑移在某些方向受限,但是能极大的提高晶粒...

yamatachi的博客 5280

IDEA阅读源码的小技巧

最近在使用IDEA来阅读源代码,参考网上的博客也学会了几个小技巧,特地写博客来分享给大家。 1、定位到方法实现类 public static Object getBean(String name) { return applicationContext.getBean(name); } 如以上代码,IDEA 如何跳转到 getBean 方法的实现类? 在 IDEA 中,CTRL ...

小度 649

FDTD材料nk值拟合优化指南:利用材料资源管理器提升光学模型精度

本文详细介绍了如何利用FDTD仿真软件中的材料资源管理器,对材料nk值进行精确拟合与优化,从而提升光学模型的仿真精度。文章通过实战案例,解析了拟合参数调整、报告解读以及针对varFDTD求解器的特殊注意事项,帮助用户从根本上解决仿真结果不准的常见问题。

weixin_29196891的博客 353

避坑指南:Cursor AI生成Flutter代码时最容易翻车的5个配置细节

本文深入剖析了使用Cursor AI生成Flutter代码时,因.cursorrules配置文件不当而导致的五大常见问题。重点探讨了如何通过制定清晰、具体的规则,避免状态管理混乱、设计图输入低效、项目架构脱节、性能隐患及规则维护缺失等陷阱,从而将AI转化为高效、可靠的开发伙伴,提升代码质量和团队协作效率。

wdx0123456的博客 415

IDEA阅读spring源码并调试

阿里云服务器优惠券领取 优惠券 目标:搭建起Spring源码阅读和代码调试跟踪的环境,顺便建立一个简单的Demo,能够调试Spring的源代码 本节,主要介绍一下Spring源码阅读和调试的相关环境搭建,并使用MVN创建一个非常简单的Demo,以便可以跟踪和调试Spring的内核。 1、源码的下载 Spring的源码可以从GitHub上下载:https://github.com/spri.........

lazy的专栏 4万+

帝企鹅优化器(EPO)详解:从基础原理到代码实战

帝企鹅优化器(EPO)是受帝企鹅群体在极寒环境中抱团取暖行为启发,于2018年提出的一种群体智能优化算法。其核心机制是模拟帝企鹅种群通过动态调整位置来维持体温的过程,主要包括确定集群边界、计算温度分布、衡量个体间距离以及更新位置四个步骤,从而在求解复杂优化问题时有效平衡全局探索与局部开发。该算法具有参数少、结构清晰、易于实现等优点,在工程优化、图像处理、机器学习特征选择以及冷链物流车辆路径规划等领域展现出良好的应用潜力。

qq_42212808的博客 139

Java初学者必看,idea小技巧汇总

idea小技巧汇总误删除的文件或者包查看一个类中的所有方法搜索jdk中的类选中代码,把他们包装起来查看一个方法的参数批量改名IDEA对选中的多行代码上下左右移动IDEA解决代码提示功能消失idea怎么打开hierarchyidea中的注释字体很奇怪怎么改?快速创建接口测试单元idea中快速替换idea选中多个文件同时打开它们Artifacts是什么意思快速重写接口中的方法Diamond types are not supported at language level '5'查看一个类的继承树设置快捷键联想

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 2848

RT-DERT安卓部署教程

这个文档中的代码案例,实现了拍照和选图识别,两个功能,可以看效果图。UI做了美化:显示类别机和数量。代码下载地址:通过网盘分享的文件:android_rtdert.zip链接: https://pan.baidu.com/s/1k6e-d_lov1OPgUmit5i_cA?pwd=hpfi 提取码: hpfi–来自百度网盘超级会员v8的分享。

AIOT魔法师 196

2025 提高电力交易价格预测的疾风大模型方法综述

电力现货市场价格预测正转向大模型驱动的新范式。传统方法在极端波动、政策突变等场景下表现不佳,而Transformer、预训练时序模型(如Chronos-Bolt)和LLM混合框架展现出显著优势。关键技术包括多模态数据融合、两段式预训练微调、MoE架构和LLM-RAG增强解释性。案例显示,澳大利亚NSW市场误差降低43%,但混合模型路由仍必要。未来趋势涵盖数字孪生电网和多智能体竞价,需平衡模型创新与行业合规要求。大模型通过跨域学习与业务耦合提升预测,但需持续优化数据隐私、算力消耗和极端事件应对能力。

专注AI大模型,软件混淆,授权 1055

idea最近打开的文件_IDEA 小技巧之书签与收藏

原文地址:IDEA 小技巧之书签与收藏 最近翻阅 Spring 源码,由于源码调用链路很长,等看了十几类方法之后,想看前面调用方法就很不方便,需要查找历史的查看记录。还有时候看着看着就忘了中间某个方法,于是又要重新重头开始 :collision: 。下面介绍 IDEA 两个功能,可以有效解决上述烦恼。书签首先介绍的是 IDEA 的书签功能,可以通过书签快速跳转到相应的源码。IDEA 书签分为两种...

weixin_39519554的博客 1864

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IDEA查看源码实用小技巧【持续更新】

IDEA查看源码技巧之跳转、书签、时序图

梦幻通灵 1249

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

idea ctrl 进入js_IDEA几个实用小技巧

工欲善其事必先利其器,分享一些官网的说明文档上没提及的但开发中比较实用的IDEA技巧,如果你有好的知识分享,欢迎加入我们。IDEA官网:https://www.jetbrains.com/idea/文档:http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/keymap-introduce.html本次分享使用的IDEA版本...

weixin_30707165的博客 665

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

idea debug源码

写在前面的话 debug是开发者最常用的一种模式,但大多数开发者只会debug自己的代码,而不会debug JDK源码或第三方jar包中的源码。 或许你还没有看源码的必要,或许你通过idea的反编译功能看"死"的源码就足够了,但是当你看不懂源码的时候呢?那么让源码"动"起来,通过断点一步一步地调试源码,观察每一步的数据变化,能更加深刻地了解源码的执行原理。 研究源码是每一位开发者进阶路上的基本功,下面我分别介绍一下JDK源码的debug和第三方源码的debug。本文是基于idea的,eclips...

学无止境! 6152

Spring源码——IDEA读Spring源码环境搭建

IDEA读Spring源码环境搭建 I. Spring介绍 还有什么好介绍的,做 Java 的都知道。至于为什么读源码,还有什么好说的,还不是被逼的! II. Gradle安装 下载:https://gradle.org/install/ Windows平台下,需要配置gradle的环境变量。 新增 GRADLE_HOME 环境变量,指向Gradle解压目录 配置Path环境...

等一杯咖啡的博客 3万+

IntelliJ IDEA导入Spring源码

工欲善其事,必先利其器,研究spring源码,从导入源码开始吧。本文记录自己 Windows下 IDEA 导入源码折腾的过程。 spring源码构建参见 官方文档https://github.com/spring-projects/spring-framework/wiki/Build-from-Source 1、下载spring源码 安装git,Spring源码现在在github托管,s......

Zephyrzh的博客,关注【蚕师】成为大厂技术人 1万+

构建idea源码

首先下载源码 github:https://github.com/JetBrains/intellij-community(社区版) 下载方式: 1、直接下载.zip压缩包 。2、在idea中直接git源码 IntelliJ IDEA社区版需要来自单独的Git存储库的其他Android模块。要克隆这些存储库,请运行目录中的getPlugins脚本之一在与源码的根目录中。这些脚本克隆其各自的主...

风也温柔呀 3522

阅读spring源码小技巧

idea 阅读spring源码小技巧 idea 阅读spring源码小技巧 第一篇博客:也开始记录我阅读源码的一些小技巧。 查看spring源码小建议 众所周知,spring bean 容器最为关键的类是:DefaultListableBeanFactory,那么我们需要阅读它的源码。 这里给几点建议: 全局思维 ,看源码时,一定要对源码的整体结构与逻辑有了解,也就是说它是做什么的,这样才不会晕车,才能点开源码读出兴趣; 思考自己实现这样一个逻辑需要一些什么东西; 思考结束之后,再结合源码,对照之前的构思

m0_46627086的博客 259

IDEA源码阅读工具

IDEA源码阅读小技巧

K_Tang的博客 1542
上一篇: 为什么我玩游戏那么卡?
下一篇: 【极简版】SpringBoot+SpringData JPA 管理系统
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值