JDK在在debug模式下作变量提示功能

一.问题阐述
  首先咱们要明白JDK source为何在debug的时候没法观察局部变量,由于在jdk中,sun对rt.jar中的类编译时,去除了调试信息,这样在eclipse中就不能看到局部变量的值。
这样的话,若是在debug的时候查看局部变量,就必须本身编译相应的源码使之拥有调试信息。
要达到这个目的,一是找网上人家已经编译好的版本,剩下的只能本身去编译。
下面咱们对于本身编译提供一个方法,但愿对你们有所帮助,若是有什么问题,请留言。html

二.解决方案
一、选择或建立你的工做目录,好比我选择:E:\
二、在你的工做目录中,建立文件夹jdk_src,用于存放源码;建立文件夹jdk_debug,用于输出编译结果。
三、从你的机器装jdk的地方找到src.zip,在你得JDK_HOME能够找到,好比个人在C:\Program Files\Java\jdk1.7.0_09目录下。而后把src解压到jdk_src目录下。
四、解压完后,选择你须要编译的内容,删除剩下的。通常选择以下的几个文件夹就能够了:java javax org 这三个目录就能够了啊
五、从你的JDK_HOMME\jre\lib中复制rt.jar到你的工做目录中(即E:\),这样作的目的可让你减小在命令行中输入的文件名。
六、执行以下这条命令:java

dir /B /S /X jdk_src\*.java > filelist.txt

  建立一个叫作filelist.txt的文件,这个文件存放了全部你将要编译的类的名称。
七、执行以下的命令:app

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日记文件。这个日记文件记录着编译警告,可是没有错误。
八、进入到jdk_debug目录中,输入以下命令:eclipse

jar cf0 rt_debug.jar *

  这个命令能够生成咱们须要的rt.jar带编译信息的jar包。
九、把这个生成的rt_debug.jar包复制到JDK_HOME\jre\lib\endorsed。若是没有endorsed目录,本身建立一下。
十、若是你是在eclipse中debug的。点击Eclipse上方窗口的Window --> --> Preferences --> Java --> Installed JRES,选择相应的JDK,点击Edit,r而后选择点击Add External jars,选择咱们步骤9中目中的rt_debug.jar,就能够了。.net

注意:若原来的JRE目录下已经存在了rt.jar包,则要将新编译的rt_debug.jar的位置在原来的jar包以前,以下图所示。命令行

如今完成了全部的步骤了,赶快尝试debug一下,若是能够查看局部变量了,那么恭喜你成功了。debug


三.参考文献
一、http://blog.csdn.net/appleprince88/article/details/21873807
二、debug jdk source can't watch variable what it is 
http://stackoverflow.com/questions/18255474/debug-jdk-source-cant-watch-variable-what-it-is调试

原文链接:http://www.cnblogs.com/zjrodger/p/5110538.htmlhtm

相关文章
相关标签/搜索