`

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

阅读更多

        java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码。虽然官方的jdk自带了源码包src.zip,然而却存在如下两个问题。

        a.debug时查看变量十分麻烦

        b.sun.*包中的类没有提供API文档及源码

        如何解决这两个问题呢?

一.debug时查看rt.jar中的变量

        因为oracle提供的jre中rt.jar不带debug信息:orcale在编译src时使用了 javac -g:none,意思是不带任何调试信息,这样可以减小rt.jar的大小,因此即使rt.jar包的source attachement指定了jdk安装包下的src.zip,也不便于调试,会出现诸如不能查看调试时的变量等问题。若想正常调试jdk,就只能重新编译src.zip,下面介绍下编译src.zip的方法。

1.在eclipse中新建一个java项目"jdk",然后在src目录上导入"Archive File",选择源码src.zip导入,导完目录结构如下(网上有说不用管报错,实际上这里的报错一般都是一些转型的问题,直接修复即可)


2.右键项目export...,然后导出为jar包,起名为rt_debug.jar:



3.修改eclipse的jre设置,将rt_debug.jar添加到jre中,并移动到最前面


4.最后再查看debug变量,可以看到变量值了




二.sun.*包中的类没有提供API文档及源码

        我只能想到从Open JDK官网下载Open JDK源码,并从中获取sun源码包,加到我创建的jdk工程中并修复报错,然后再导出为jar包(接下来的步骤同debug时查看rt.jar中的变量一样)。

Open JDK源码包下载地址:

        Open JDK6:http://download.java.net/openjdk/jdk6/

        Open JDK7:http://download.java.net/openjdk/jdk7/

        Open JDK8:http://download.java.net/openjdk/jdk8/

单个查看源码及javadoc地址:http://www.docjar.com/html/api/sun/

  • 大小: 6.4 KB
  • 大小: 5.7 KB
  • 大小: 30.1 KB
  • 大小: 54.6 KB
  • 大小: 7.2 KB
  • 大小: 7.9 KB
分享到:
评论

相关推荐

    查看JDK中变量的值, debug JDK

    接下来,我们需要将编译好的`debug_rt.jar`应用到我们的项目中,以实现查看JDK源代码变量值的功能: 1. 当尝试调试Java程序,尤其是在涉及JDK内部类或方法时,会发现无法查看JDK源代码的变量。这是因为默认的JDK库...

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

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

    jdk1.8.0_101调试包

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

    JDk环境变量配置

    JDK是Java开发工具包,它包含了编译、调试及运行Java程序所需的软件集合,包括Java编译器、Java运行时环境等。正确配置JAVA环境变量对于安装和使用JDK至关重要。 #### 一、JAVA_HOME环境变量配置 1. **定义**:`...

    jdk环境变量

    - 变量值:输入已安装的JDK路径,例如`C:\Program Files (x86)\Java\jdk1.7.0`。 - 点击“确定”。 4. **修改PATH环境变量**: - 在“系统变量”列表中找到名为`Path`或`PATH`的环境变量,双击或者选中后点击...

    JDK环境变量注册

    Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一组开发工具,用于编译、调试和运行Java应用程序。在Windows操作系统中,正确配置JDK环境变量是使用Java的前提,因为这些变量告诉系统Java的安装...

    解决java源码调试跟不到变量值

    在Java开发过程中,源码调试是一项至关重要的技能,它能帮助开发者深入理解代码运行机制,定位并解决问题。...通过仔细排查并按照说明操作,通常可以成功恢复调试功能,查看到变量值,从而更有效地进行代码调试。

    jdk7及jdk8包

    2. **PATH**: 需要在该变量的值中添加 `%JAVA_HOME%\bin`,这样系统就可以在任何目录下执行Java相关命令。 配置环境变量的方法通常是在系统的“高级系统设置”中的“环境变量”选项中进行。在用户变量和系统变量中...

    JDK环境变量配置

    其中,JDK(Java Development Kit)作为Java开发工具包,包含了编译、调试及执行Java程序所需的所有工具。为了确保Java程序能够在操作系统上正常运行,正确配置JDK环境变量至关重要。 #### 二、环境变量概念 环境...

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

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

    jdk 环境变量配置

    在进行JDK环境变量配置之前,首先需要下载并安装JDK。根据给定的部分内容中的信息,可以了解到一个具体的安装过程: 1. **下载JDK**:访问官方网站或可信源下载JDK安装包,例如提供的链接指向的是Sun公司网站(现已...

    jdk环境变量配置jdk环境变量配置jdk环境变量配置

    在计算机科学领域,Java开发工具包(Java Development Kit,简称JDK)是Java编程语言的开发者工具集,它包含了编译、调试和运行Java应用程序所需的所有工具和库。配置JDK环境变量对于Java程序员来说至关重要,因为这...

    jdk环境变量设置

    - **JDK (Java Development Kit)**:这是开发Java应用程序所必需的工具包,它包含了编译、调试及运行Java程序所需的软件和工具。 - **JRE (Java Runtime Environment)**:用于执行Java程序的环境,包括Java虚拟机...

    java的JDK资源包

    它提供了设置断点、单步执行、查看变量值等功能。 5. **Java archive工具**(jar):用于打包和管理类文件,创建.jar文件,这可以作为一个可执行的Java应用程序或库。 6. **Java性能分析工具**(jconsole、...

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

    为了能在调试时查看变量值,需要重新编译JDK源码,并包含调试信息。 首先,要解决这一问题,我们需要创建两个目录,一个用于存放JDK源码,另一个用于存放调试信息。然后,我们需要将JDK源码包解压至源码目录中,...

    JDK环境变量设置

    在这里,你需要将JDK的`lib`目录下的`dt.jar`和`tools.jar`添加到变量值中,如`.;C:\Program Files\Java\jdk1.6.0\lib\dt.jar;C:\Program Files\Java\jdk1.6.0\lib\tools.jar`,注意小数点代表当前目录。 - **PATH*...

    Windows系统JDK环境变量配置

    - 变量名输入`JAVA_HOME`,变量值填写JDK的安装路径,例如`C:\Program Files\Java\jdk-11.0.15`。确保路径正确无误。 - 点击“确定”。 3. **新建CLASSPATH环境变量**: - 再次点击“新建”按钮。 - 变量名输入...

    JDK安装与环境变量配置

    JDK(Java Development Kit)是Java语言的软件开发工具包,包含了编译、调试和运行Java程序所需的所有工具。JDK是Java开发的基础,无论是Java SE还是Java EE都需要JDK的支持。 #### 二、JDK下载与安装 1. **下载JDK...

    JDK环境变量配置图文教程及下载地址

    例如,如果您的JDK安装在`D:\JDK64\jdk1.7.0_80`,则变量值即为此路径。 ##### 3. 修改Path环境变量 - 在“系统变量”列表中找到名为`Path`的环境变量,并点击“编辑”。 - 在“编辑环境变量”窗口中,在现有变量...

Global site tag (gtag.js) - Google Analytics