zoukankan      html  css  js  c++  java
  • Java在Eclipse中调试无法获取JDK源码变量的解决办法

    1.问题描述

      在Eclipse中调试jdk源码时,变量无法显示并提示说“key cannot be resolved to a variable”。

     

      这是因为在JDK中,sun对rt.jar中的类编译时,去除了调试信息。

    2.解决方法

      1.在D盘新建文件夹【 jdk 】,然后在文件夹里面分别创建两个文件夹【 jdk_src】(源码)和【 jdk_debug 】(编译文件)。

           2.从%JAVA_HOME%路径下找到【src.zip】源码源码压缩包,解压至D:/jdk/jdk_src目录中,并只保留【javajavax,org】三个文件夹。

           3.从%JAVA_HOME%jrelib找到【rt.jar】,将它拷贝到D:/jdk文件夹。

           4.打开DOS命令窗口,用命令cd命令进入D:/jdk文件夹,然后执行命令 【 dir /B /S /X .jdk_src*.java > .filelist.txt 】

             完成后会在D:/jdk目录生成filelist.txt文件,里面为待编译的文件路径*/*.java

           5.执行命令 【javac -J-Xms16m -J-Xmx1024m -sourcepath .jdk_src -cp . t.jar -d .jdk_debug -g @.filelist.txt >> .log.txt 2>&1】

             会编译filelist.txt文件中列出的*.java源文件,编译的*.class文件会放入D:/jdk/jdk_debug文件夹,同时编译过程中会在D:/jdk生成log.txt文件。

           6.执行cd命令切换到D:/jdk/jdk_dug,然后执行命令 【jar cf0 rt_debug.jar *】

              将*.class文件打成jar,打包完成后会在D:/jdk/jdk_debug目录中生成rt_debug.jar

           7.把这个生成的rt_debug.jar包复制到%JDK_HOME%jrelibendorsed下。如果没有endorsed目录,自己创建一下。

           8.在eclipse里面找到Window->Installed JRES,选择jdk,点击Edit,然后点击Add External jars,选择刚才创建的rt_debug.jar导入,然后把rt_debug.jar移动到rt.jar的前面,

              最后选中【rt_debug.jar】,点击Source Attachment选择%JAVA_HOME%/jdk/src.zip添加源文件。

    3.操作截图

       图片来源于https://blog.csdn.net/u010407050/article/details/76690478

       

           

    参考 https://blog.csdn.net/u010407050/article/details/76690478

  • 相关阅读:
    MySQL ERROR : The used command is not allowed with this MySQL version 解决办法
    Linux批量删除指定后缀的文件
    Hadoop 获取Input File的文件名
    Mahout的安装与配置
    【AIMP3】推荐一款Windows下的优质音乐播放器
    LeetCode 未验证规则
    Ubuntu更改用户名
    设计模式:单例模式(C++)
    C++ 四种类型转换
    switch-case内不能定义变量?
  • 原文地址:https://www.cnblogs.com/net-study/p/13674509.html
Copyright © 2011-2022 走看看