idea debug源码

写在前面的话

debug是开发者最常用的一种模式,但大多数开发者只会debug自己的代码,而不会debug JDK源码或第三方jar包中的源码。

或许你还没有看源码的必要,或许你通过idea的反编译功能看"死"的源码就足够了,但是当你看不懂源码的时候呢?那么让源码"动"起来,通过断点一步一步地调试源码,观察每一步的数据变化,能更加深刻地了解源码的执行原理。

研究源码是每一位开发者进阶路上的基本功,下面我分别介绍一下JDK源码的debug和第三方源码的debug。本文是基于idea的,eclipse暂时还没研究。

1、JDK源码的debug

要想debug源码的话,那必须得有源码包,源码包指的是里面都是java文件,而不是编译后的class文件

我们在安装jdk的时候,安装目录下已经自带了源码包,如下图所示

既然源码包已经有了,那么现在要做的事就是,在idea中导入源码包

打开idea的project structure -> SDKs -> Sourcepath视图,可以看到jdk配置好之后,源码包被自动导入进来了。如果没有被自动引入,那么需要点+号手动导入。如下图所示

做好以上事情后,此时还不能debug JDK源码,下面还需要做一步设置

打开idea的settings -> Build,Execution,Deployment -> Debugger -> Stepping视图,在Do not step into the classes下面,取消勾选java.*和javax.*前面的复选框,最后点ok退出即可。如下图所示。

下面就来验证一下,调式String类的subString方法,可以看到断点如约而至进来了,如下图所示

2、第三方源码的debug

要想调试第三方源码,还是那句话,必须要有源码包,所以只有开源的第三方框架,才能够被断点调试

通过pom.xml引入apache的common-lang3的jar包

<dependencies>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.10</version>
      </dependency>
    </dependencies>

jar包引入之后,common-lang3的jar包是编译后的,而此时是没有源码包的,需要我们另行下载

在idea中找到这个jar包,然后点击Download Sources,如下图所示

等其下载完毕之后,在maven仓库下面,找到对应的文件夹,可以看到多了commons-lang3-3.10-sources.jar这个文件,解压缩之后可以看到里面都是java文件,证实这是个源码包,如下图所示

有了源码包之后,接下来在idea试试效果。可以看到,断点进入了commons-lang3的StringUtils类的isBlank方法里面,如下图所示。

总结

idea中debug JDK源码和第三方源码的入门介绍就讲到这里了,像Spring框架之类的源码博大精髓,往往就算断点调试成功了,也很难在很短的时间内"搞定"源码,需要花时间研究,当然,这对我本人而言也是如此

反正有了debug源码的基础就好说,而且在idea这样一款优秀的软件中,有很多debug技巧满足大家的各种需求。所以,还不会debug源码的小伙伴们,赶紧动手练习吧

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
对于修改特殊类型方法的Idea调试,我们可以采用以下步骤: 1. 确定特殊类型的源代码位置:在Idea中,我们需要确定特殊类型的源码所在的目录或文件位置。这可以通过在项目中查找特殊类型的关键字来确定。 2. 打开特殊类型源代码:在Idea中,我们可以使用Ctrl + 左键点击特殊类型的引用或关键字来直接跳转到源代码位置。如果特殊类型是在项目的库文件中,我们可以在相关的库文件中找到源代码位置。 3. 调试特殊类型的问题:在特殊类型的源代码中,我们可以使用Idea的调试功能进行调试。可以在源代码中设置断点,然后通过运行调试模式来逐步执行代码,并观察代码的执行流程和变量的变化情况,以定位问题所在。 4. 修改特殊类型代码:通过调试的过程,我们可以确定特殊类型的问题,并找到需要修改的位置。在Idea中,我们可以直接在源代码中进行修改,并保存修改后的代码。 5. 重新运行和测试特殊类型:在修改特殊类型代码后,我们可以重新运行程序,并进行测试以验证修改的有效性。可以使用Idea的运行功能或调试功能来重新运行特殊类型,并观察修改后的效果。 6. 提交修改:如果特殊类型的修改符合项目需求,我们可以将修改后的代码提交到版本控制系统中,以便其他开发人员可以获取并使用修改后的特殊类型。 通过以上步骤,我们可以在Idea中完成特殊类型的调试并进行修改。这样可以提高开发效率和代码质量,确保特殊类型在项目中正常工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波波老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值