• 利用eclipse调试JDK源码


    先看效果图

    综合网上各种教程,总结如下

    • 新建 D:/jdk/srcD:/jdk/debug 目录
      • src存放源码
      • debug存放编译结果

    • %JAVA_HOME%/src.zip 解压到 D:/jdk/src,只保留java、javax、org三个目录即可

    • %JAVA_HOME%/jre/lib/rt.jar 复制到 D:/jdk/rt.jar

    • 打开cmd,进入 D:/jdk 目录
    cd d:jdk
    d:
    dir /B /S /X .src*.java > .src.txt
    ## 会生成 D:/jdk/src.txt,文件内容是待编译的Java源文件路径 
    
    javac -J-Xms16m -J-Xmx1024m -sourcepath .src -cp .
    t.jar -d .debug -g @.src.txt >> .log.txt 2>&1
    ## 会编译 src.txt 文件中列出的Java源文件
    ## 编译出来的class文件会放到 D:/jdk/debug
    ## 编译过程中会写到 D:/jdk/log.txt
    
    • cmd进入 D:/jdk/debug 目录
    cd dedug
    jar cf0 rt_debug.jar *
    ## 将class文件生成 D:/jdk/debug/rt_debug.jar
    

    • 复制 D:/jdk/debug/rt_debug.jar%JAVA_HOME%/jre/lib/endorsed/rt_debug.jar

      • 如果没有endorsed目录,自己新建一个
    • 在eclipse中打开Window -> Preferce -> Installed JREs

      • 选择jdk,点击Edit,点击Add External JARs
      • 选择导入 %JAVA_HOME%/jre/lib/endorsed/rt_debug.jar
      • 确保rt_debug.jar的位置在rt.jar前面
      • 选择rt_debug.jar,点击Source Attachment选择 %JAVA_HOME%/jdk/src.zip 添加源代码文件
      • 删除rt.jar的Source Attachment
      • 重启eclipse

  • 相关阅读:
    char与byte的区别
    java 中的枚举类型
    * .mesh 体网格文件解析
    java 中的equals hashCode
    java 中的 hashCode()
    java 中的判断两个对象是否相等的比较严格的操作
    java 中的访问限制
    数学建模 投资模型
    java abstract
    java 中的多态 & 动态绑定
  • 原文地址:https://www.cnblogs.com/mjios/p/10883267.html
Copyright © 2020-2023  润新知