ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

debug查看源码 源码手动下载

2020-12-16 16:01:08  阅读:238  来源: 互联网

标签:手动 jar idea 所示 源码 debug lang3


 

简述

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包


  
  1. <dependencies>
  2. <dependency>
  3. <groupId>org.apache.commons </groupId>
  4. <artifactId>commons-lang3 </artifactId>
  5. <version>3.10 </version>
  6. </dependency>
  7. </dependencies>

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

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

 

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

 

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

 

标签:手动,jar,idea,所示,源码,debug,lang3
来源: https://blog.csdn.net/weixin_45664994/article/details/111282802

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有