`
nada_forever
  • 浏览: 24127 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何对jdk核心包进行跟踪调试,并查看调试中的变量值?

阅读更多
在我们日常的java程序调试过程中,经常会对jdk的核心类进行跟踪、调试,这些jdk核心类主要存在于rt.jar包中,但由于jdk默认的rt.jar在编译打包时未指定行号等信息,因此即使rt.jar包的source attachement指定了jdk安装包下的src.zip,也不便于调试,会出现诸如不能查看调试时的变量等问题。

如何解决呢?
下面介绍的一种方法来解决上述问题,原理是对%JAVA_HOME%/src.zip指定合适的编译选项后进行重新编译,然后将当前jre所使用的rt.jar包替换为重新编译的rt.jar包。

具体的操作如下:
1、对src.zip解压缩,并建立新的工程将源码导入(略)
然后对该工程指定编译选项,如下图


2、工程中可能会有一些错误,一般都是一些转型的问题,直接修复即可;
3、将工程导出为二进制jar包(debug_rt.jar)与源码jar包(debug_rt_sources.jar),包名可随意;
4、对jre进行配置:windows->preferrences->Java->Installed JREs,对相应的jre进行编辑,将debug_rt.jar加入,并将debug_rt.jar置于最上面



将debug_rt_sources.jar与debug_rt_sources.jar进行源码关联



OK,完成。

  • 大小: 29.1 KB
  • 大小: 44.8 KB
  • 大小: 43 KB
分享到:
评论
1 楼 ifox 2014-02-26  
你好阿,请问那个错误是如何修复的?愿回复 ,谢谢啦

相关推荐

    查看JDK中变量的值, debug JDK

    当我们调试Java程序时,我们无法查看JDK源代码中的变量的值,此文档解决了这个问题

    jdk源码调试重编译rt.jar包

    关于调试jdk源码显示源码变量值的rt.jar重编译包

    jdk1.8.0_101调试包

    解决调试jdk源码时局部变量值看不到问题,下载后把此包加入JAVA_HOME\jre\lib\endorsed下并把词包导入eclipse中即可进行调试了。

    自己重新编译的jdk源码jar包

    我们要明白在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值。这样的话,如果在debug的时候查看局部变量, 就必须自己编译相应的源码使之拥有调试信息。要达到这个目的,一是...

    jdk带调试信息的jar文件(基于jdk1.7)

    eclipse中打断点时,不能查看jdk源码变量中的值,需要重新对jdk的源码进行编译。编译之后,将jar文件放到endorsed下。

    解决调试JDK源码时,不能查看变量的值问题

    下面小编就为大家带来一篇解决调试JDK源码时,不能查看变量的值问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    java查看sun包源码-rt_debug:将jdk的源码进行重新编译,用于局部变量的调试

    jdk提供的rt.jar进行debug调试时不能查看到局部变量的值,这是因为sun对rt.jar的类编译时,去除了调试信息,所以我们必须重新编译jdk源码并打包成rt.jar 编译步骤 解压jdk安装目录下的src.zip文件 遍历src目录下的...

    JDK1.7 WIN_X86可debug版part1

    本jdk是本人在Win7 X86环境自己编译的,可以断点调试看变量值,一般jdk虽然能打断点但看不到变量值的,

    使用 Eclipse 调试 Java.doc

    方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。 4、 改变变量值 代码停在了断点处,...

    rt_debug_1.8.jar包

    JDK1.8源码重新打包,支持调试JDk源码时显示变量的值

    JDK1.7 WIN_X86可debug版part02

    本jdk是本人在Win7 X86环境自己编译的,可以断点调试看变量值,一般jdk虽然能打断点但看不到变量值的

    JDK1.7 WIN_X86可debug版part3

    本jdk是本人在Win7 X86环境自己编译的,可以断点调试看变量值,一般jdk虽然能打断点但看不到变量值的,

    JDK:多个JDK版本的源代码(1.61.71.81.91011121314 JDK的src.zip),仅用于学习; “ rt_debug.jar”可用于调试-Source code learning

    JDK原始代码重新打包,支持调试JDk二进制时显示变量的值: rt_debug_1.7.jar: : rt_debug_1.8.jar: : JDK原始码【1.9】,预设系统,JShell,集合工厂方法等(2017-10-07)。 JDK原始【1.7】,添加JDK1.7...

    rt_debug_1.7.jar

    JDK1.7源码重新打包,支持调试JDk源码时显示变量的值

    rt_debug_1.8.jar

    JDK1.8源码重新打包,支持调试JDk源码时显示变量的值

    疯狂html5+css3+javascript完整版第二部分

    3 第18章的离线Web应用需要Tomcat服务器 建议安装Apache的Tomcat7 0 20 不要使用安装文件安装 而是采用解压缩的安装方式 安装Tomcat需要增加JAVA HOME环境变量 环境变量值为JDK安装路径 ">疯狂...

    疯狂html5+css3+javascript完整版

    本书中的程序在以下环境中调试通过: (1) 本书很多HTML 5、CSS 3代码必须在高版本的浏览器中才能看到效果。建议读者安装Opera 11.60、Firefox 10.0...安装Tomcat需要增加JAVA_HOME环境变量,环境变量值为JDK安装路径。

    疯狂的HTML5javaScript讲义

    本书中的程序在以下环境中调试通过: (1) 本书很多HTML 5、CSS 3代码必须在高版本的浏览器中才能看到效果。建议读者安装Opera 11.60、Firefox 10.0...安装Tomcat需要增加JAVA_HOME环境变量,环境变量值为JDK安装路径。

    JSP课程设计案例精编-源码

    (3)修改名为path的系统变量,在变量值中增加c:\jdk1.5\bin,与以前的内容用分号分割开。 2.安装Tomcat 从http://www.apache.org/dist/jakarta/tomcat-4/binaries/ 下载Tomcat软件,这里我们使用Tomcat 5.0.28...

Global site tag (gtag.js) - Google Analytics