一.问题阐述
首先我们要明白JDK source为什么在debug的时候无法观察局部变量,因为在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值。
这样的话,如果在debug的时候查看局部变量,就必须自己编译相应的源码使之拥有调试信息。
要达到这个目的,一是找网上人家已经编译好的版本,剩下的只能自己去编译。
下面我们对于自己编译提供一个方法,希望对大家有所帮助,如果有什么问题,请留言。
二.解决方案
1、选择或创建你的工作目录,比如我选择:E:\
2、在E盘,创建文件夹jdk_src,用于存放源码;在E盘创建文件夹jdk_debug,用于输出编译结果。
3、从你的机器装jdk的地方找到src.zip,在你得JDK安装目录可以找到,比如我的在F:\SoftWare\Java\jdk1.7.0_80目录下。然后把src解压到jdk_src目录下。
4、解压完后,选择你需要编译的内容,删除剩下的。此处选择如下的几个文件夹就可以了:java javax org 这三个目录就可以了啊
5、从你的JDK暗转目录如:F:\SoftWare\Java\jre7\lib中复制rt.jar到你的工作目录中(即E:\),这样做的目的可以让你减少在命令行中输入的文件名。
6、进入cmd,进入E盘,执行如下这条命令:
dir /B /S /X jdk_src\*.java > filelist.txt
创建一个叫做filelist.txt的文件,这个文件存放了所有你将要编译的类的名称。
7、接着,执行如下的命令:
javac -J-Xms16m -J-Xmx1024m -sourcepath e:\jdk_src -cp e:\rt.jar -d e:\jdk_debug -g @filelist.txt >> log.txt 2>&1
这条命令将要编译所有你指定的文件,并把编译结果输出到jdk_debug目录中,同时产生log.txt日记文件。这个日记文件记录着编译警告,但是没有错误。
8、进入到jdk_debug目录中,输入如下命令:
jar cf0 rt_debug.jar *
这个命令可以生成我们需要的rt.jar带编译信息的jar包。
9、把这个生成的rt_debug.jar包复制到JDK_HOME\jre\lib\endorsed。如果没有endorsed目录,自己创建一下。
10、如果你是在eclipse中debug的。点击Window->Installed JRES,选择相应的JDK,点击Edit,r然后选择点击Add External jars,选择我们步骤9中目中的rt_debug.jar,就可以了。
注意:若原来的JRE目录下已经存在了rt.jar包,则要将新编译的rt_debug.jar的位置在原来的jar包之前,如下图所示。
现在完成了所有的步骤了,赶快尝试debug一下,如果可以查看局部变量了,那么恭喜你成功了。
来源:http://www.cnblogs.com/zjrodger/p/5110538.html
注意:使用了此方法后,当我在使用smtp服务器,TLS协议发用邮件时,一直失败,并且报
javax.mail.MessagingException: Could not convert socket to TLS错误,再把rt_debug.jar去掉重新加入jdk环境就好了。至于原因暂时未知。
相关推荐
用eclipse去debug jdk源码,默认情况下是看不到局部变量的。把这个生成的rt_debug.jar包复制到JDK_HOME\jre\lib\endorsed。如果没有endorsed目录,自己创建一下。 如果你是在eclipse中debug的。点击Eclipse上方窗口...
在Java开发过程中,调试是必不可少的一个环节,而有时我们可能会遇到在调试时无法查看JDK源代码中变量的值的情况。这篇文档详细介绍了如何解决这一问题,主要分为两个部分:编译JDK的源代码(src.zip)以及将编译后...
把这个生成的rt_debug.jar包复制到JDK_HOME\jre\lib\endorsed。如果没有endorsed目录,自己创建一下。注意:eclipse导入jar时,一定要up到rt.jar上边!
jdk1.8debug包,可以通过打断点的方法查看jdk局部变量的值,需要其他版本的jdk debug包可以私聊我
JDK和Maven环境变量配置 JDK环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java应用程序的正确运行。下面将详细介绍JDK环境变量配置的步骤。 首先,需要安装JDK,假设安装在E:\jdk1.5.0目录下。然后,...
但是有时在我们需要step into jdk中,想看jdk中变量的状态时, eclipse却无能为力,这不是eclipse的bug, 而是jdk不提供这方面的支持, 这时,有2种解决方法: 1: 下载jdk的debug版本,下载 双击安装 or 执行java...
Java JDK 和 Android SDK 环境变量配置教程 本教程旨在指导用户一步步配置 Java JDK 和 Android SDK 环境变量,帮助用户快速安装和配置开发环境。 Java JDK 环境变量配置 Java JDK 是 Android 应用程序开发的基础...
查看当前系统jdk的版本:java -version 如果有先卸载,查看jdk目录文件yum list installed | grep java 卸载:yum -y remove java-1.7.0-openjdk*** – 安装(将下载的压缩文件解压然后配置环境变量) 进入linux创建...
解决问题:eclipse调试显示jdk源码变量 如何使用:下载后放在jdk目录“jre\lib\endorsed”下,如果“endorsed”不存在就新建一个。 说明:适用于jdk1.8 参考链接: ...
在计算机科学领域,Java开发工具包...如果你遇到任何问题,查阅这个文件或者在线搜索具体的错误信息通常都能找到解决方案。总之,正确配置JDK环境变量是进行Java开发的基础,理解这一过程对提升编程效率至关重要。
**Java Development Kit (JDK) 安装与环境变量配置详解** ...如果你在过程中遇到任何问题,都可以参考提供的“jdk安装和环境变量配置”文档,或者寻求在线资源的帮助。祝你在Java编程的道路上一帆风顺!
可通过输入`echo %PATH%`来查看PATH的具体内容,确保JDK的bin目录已被正确添加。 总之,JDK的下载、安装和环境变量配置是Java开发的基石,正确完成这些步骤是进行Java编程的前提。通过本文的详细指导,希望每位读者...
linux一键安装jdk 1.8 并且 配置环境变量 shell 脚本
### JDK环境变量配置详解 #### 一、引言 在Windows操作系统上安装并配置JDK(Java Development Kit)是进行Java开发的基础步骤之一。正确配置JDK环境变量不仅能够简化开发流程,还能够确保编译运行Java程序时更加...
### Linux配置JDK环境变量详解 #### 一、下载与准备JDK 1. **下载JDK**:首先,从Sun Microsystems(现已被Oracle收购)的官方网站([www.oracle.com](https://www.oracle.com/))下载JDK安装包。这里以`jdk-1_5_0...
当我们尝试在集成开发环境(IDE)中调试JDK源码时,经常会遇到一个问题:无法查看方法内部变量的值。这一问题通常是由于JDK的当前版本在编译过程中去除了调试信息所导致的。为了能在调试时查看变量值,需要重新编译...
安装 JDK 和 Tomcat 环境变量配置是 Java 开发环境的基础步骤,涉及到 JDK 和 Tomcat 的安装、环境变量的配置、Tomcat 的启动和测试。本文将详细介绍安装 JDK 和 Tomcat 环境变量配置的步骤和要点。 一、JDK 的安装...
JDK1.7.0 安装与环境变量设置详细图解 JDK(Java Development Kit)是 Java 语言的核心组件之一,提供了 Java 编译器、调试器和其他开发工具。为了在 Windows 7 系统中使用 JDK,需要正确地安装和配置环境变量。...
本文将针对“JDK和Oracle JDK冲突修改环境变量”的主题进行深入探讨,并提供详细的解决方案。 #### 一、问题背景 在开发环境中安装了多个版本的Java或同时安装了Oracle JDK和其他版本的JDK时,可能会出现冲突的...