• jdk学习之如何调试jdk


           自从sun被oracle收购后,在oracle下载的jdk使用F5进入调试jdk的方法就不行了,这对于想看jdk的源码的小伙伴是一个暴击(oracle在编译rt.jar时去除了调试信息);

    这不得不鼻屎oracle违背了java开源的初衷,虽然oracle去除了rt.jar的调试信息,我们还是可以下载带调试信息的rt.jar去替换,

    当然我们自己也可以生成带调试信息的rt.jar,以下是生成步骤及使用方法;

      1、在c盘创建目录  C:aiqing oolsdebugjdk t_debug;(这里在哪个盘符创建目录及目录名是什么没限制,要与下面的步骤对应就ok)

      2、把JAVA_HOMEjrelib下的rt.jar复制到rt_debug目录解压;

      

      3、把JAVA_HOMEsrc.zip复制到rt_debug目录解压(src.zip就是jdk的源码)

      4、进入解压后的src目录,保留java、javax、org三个目录,其他删除

      5、在src目录中打开cmd命令行执行dir /B /S /X  C:aiqing oolsdebugjdk t_debugsrc*.java > filelist.txt (这一步创建一个叫做filelist.txt的文件,这个文件存放了所有你将要编译的类的名称)

      6、创建C:aiqing oolsdebugjdkdebug_rtclasses文件夹 (java、Javax、org三个源代码编译后存放路径)

      7、编译src下的源代码 javac -J-Xms16m -J-Xmx1024m -sourcepath C:aiqing oolsdebugjdk t_debugsrc -cp C:aiqing oolsdebugjdk t_debug t.jar  -d C:aiqing oolsdebugjdkdebug_rtclasses -g @filelist.txt

      8、cmd进入C:aiqing oolsdebugjdkdebug_rtclasses目录,执行: jar cf0 rt_debug.jar * ;这步会生成一个rt_debug.jar

      

      9、把这个rt_debug.jar包复制到JAVA_HOMEjrelib下

      10、把JAVA_HOME加入到eclipse中,eclipse点击window->preferences->Installed JREs,选择相应JDK,然后点击Add External JARs...,选择我们步骤9中添加的rt_debug.jar(位置在rt.jar之上)。

      

      11、链接rt_debug.jar的源码JAVA_HOMEsrc.zip(rt_debug也是用的src.zip中的jdk源码)

      

      12、ok,接下去就可以在jdk中遨游了。

      

      

  • 相关阅读:
    java集合
    [编写高质量代码:改善java程序的151个建议]建议57 推荐在复杂字符串操作中使用正则表达式
    [编写高质量代码:改善java程序的151个建议]建议53 注意方法中传递的参数要求
    判断某一时间范围的方法
    c#读写xml文件
    冒泡排序
    C#使用正则表达式检测数字 char 和韩文
    三角形面积公式
    unity 绘制三角形
    中缀转后缀表达式
  • 原文地址:https://www.cnblogs.com/shuaiqing/p/7525841.html
Copyright © 2020-2023  润新知