zoukankan      html  css  js  c++  java
  • eclipse无法断点调试JDK源码的问题

    最近换了新版的eclipse,在jdk源码里面,打断点发现无法进入源码调试,程序直接跳过,已查资料发现自己eclipse配置的是jre环境的。
    此处要配成jdk目录才有效

    打开preferences,点击java ,在点击installed JRES
    选中jre的目录,我这里只有一个,是我jdk的安装目录,

    将JRE home配置成jdk的目录,

    点击Restore Default就可以调试了。

    这里简单说下jre和jdk的区别。
    JRE: Java Runtime Environment
    JDK:Java Development Kit
    JRE包含了java的虚拟机,运行时类库。如果你只需运行java程序,安装jre就行了。
    JDK包含了JRE,同时还包含了编译java源码的编译器javac,提供了JVM和Runtime辅助包。如果你是开发java程序的话就必须安装JDK
     

    https://blog.csdn.net/cherrycheng_/article/details/51004386

    问题效果图:

    解决后的效果:

    具体步骤:

    1.制作可调试的rt.jar包

    1.1 .在D盘新建jdk7_src及jdk7_rt-debug两个文件夹

    1.2.复制JDK源码

    将环境变量中配置的java_home地址或者将用的外部JDK安装目录下的src.zip

    复制到D:/jdk7_src,解压.效果如下图

    1.3.选择要编译的源码

    原文中说,留下java,javax,org三个文件夹就足够了,其他都可以删除。

    我只是把swing的内容删除了,其他都留下了。大伙可以随意。

    swing包目录位置:comsunjavaswing,javaxswing 

    1.4.得到要处理的java文件名

    命令及效果图如下:

    要查看一下,自动生成的filelist.txt中是否有内容哦,没有数据的话下面的操作是没用的。

    D:
    cd D:jdk7_src
    dir /B /S /X *.java > filelist.txt



    1.5.复制jre/lib/rt.jar

    把JDK安装目录(复制src.zip的那个目录)下jre/lib下的rt.jar复制到jdk7_src目录下

    1.6.生成一些可调试的class文件夹

    执行如下命令,成功后,jdk7_rt-debug文件夹会产生一些可调试的class文件夹,如下图:

    如果没有,请打开jdk7_src/log.txt,ctrl+F查找“错误”,并解决。

    一般,将报错的java路径及路径对应的文件删除,再执行dir /B /S /X *.java > filelist.txt即可。

    <span style="font-family:KaiTi_GB2312;font-size:18px;">javac -J-Xms16m -J-Xmx1024m -sourcepath D:jdk7_src -cp D:jdk7_src
    t.jar -d D:
    jdk7_rt-debug -g @filelist.txt >> log.txt 2>&1</span>

    1.7.将这些文件打包成Jar

    命令和效果如下图

    cd ..
    cd jdk7_rt-debug
    jar cf0 rt_debug.jar *



    2.使用可调试的rt.jar

    2.1.把rt_debug.jar放入JDK中

    放入java_home/jre/lib/endorsed目录

    2.2.将rt_debug.jar加入Eclipse使用的JDK中

    2.3.添加rt_debug.jar的源码包

    2.4.开始debug吧,你成功了!!

    如果失败了,下载我的试试吧

  • 相关阅读:
    php利用__callStatic静态调用同类中非静态方法
    Using $this when not in object context错误原因及解决办法
    fastadmin权限修改
    call_user_func()
    php empty()奇怪现象
    LF will be replaced by CRLF in vendor/
    git放弃本地,强制拉取远程
    tp5防xss攻击方法
    php curl
    关于Mac设置alias别名访问服务器
  • 原文地址:https://www.cnblogs.com/yaowen/p/10704554.html
Copyright © 2011-2022 走看看