在学习JDK源码的时候,自然少不了代码的调试。
阅读与调试各个版本JDK 的环境搭建基本一致,这里以JDK1.8为例。
首先,在安装的jdk1.8路径下,找到src.zip
和javafx-src.zip
压缩文件 ,
选择一个合适的目录 复制过来一份
接着新建两个文件夹
javafx-src
和 src
,将两个压缩包分别放入两个文件夹,并解压。
接着用IDEA新建一个Java项目,注意目录不要是LeanningJDK1.8,正常建项目哈
新建项目完成之后,点击file>project structure
,然后选中SKDS
,切换到Sourcepath
选项
将原先的src.zip
和javafx-src.zip
依赖,“-”减号删去,“+”好新建你本地解压后的src
和javafx-src
依赖,之后我们点击apply
然后点击file --> Setting --> Build,Execution,Deployment --> Debugger --> Stepping
把Do not step into the classes中的ajva.*
,javax.*
取消勾选,其他的随意, 点击apply
。
这下就大工告成了。
简单代码的打印输出
简单的调试
成功进入JDK源码中。
查看类直接可以用快捷键alt + 7
,可以看到这个方法有哪些调用方法
通过点击方法,可以定位到相关的位置
调试中的条件断点:
在断点处右击:
可以设置条件,例如设置test(1)==6
,那么当条件满足时,到 这步才会停下来。
细心的话,可以发现 suspend
这个选项,有个Thread
,这个可以进行多线程的一个调试。可以控制线程的一个执行顺序。