java调试jdk源码_eclipse调试JDK内部源代码

[本文相关内容:参照http://414149609.iteye.com/blog/1849185。点击打开链接========================================================================================

eclipse默认是无法调试JDK源代码的,即使添加了src.zip 作为source code也不能解析stack上的变量,只能看到类成员变量。

原因很简单,JDK的源代码是使用 javac -g:lines 参数进行编译的,所以代码里面没有所需的debug info。

解决方式也同样简单:重新编译JDK的源代码。[1,你把鼠标放在一个jkd的类上按下F3,如果这时迁移到一个class文件拿去的话 2,class文件画面会有一个“关联源代码”按钮,点击这个按钮,然后从系统文件选择jdk下的src.

简单写了一个shell脚本,只要设置了 $JAVA_HOME 变量,就可以实现(不知道怎么上传附件,自己粘贴回去用吧,需要tools.jar 源代码的类似原理)

#!/bin/sh if [ -z "$JAVA_HOME" ] then echo "Must set JAVA_HOME" exit 1 fi cd $JAVA_HOME mkdir temp cp src.zip temp/ cd temp/ mkdir out unzip src.zip rm src.zip find . -name *.java > filelist echo "$(wc -l filelist) java files to compile" javac -g -d out/ -J-Xmx1024m -cp "../jre/lib/tools.jar:../jre/lib/rt.jar" @filelist if [ $? != 0 ] then echo "compile error!" exit 1 fi unzip $JAVA_HOME/jre/lib/rt.jar -d $JAVA_HOME/temp/old_classes cp -r $JAVA_HOME/temp/out/* $JAVA_HOME/temp/old_classes/ cd $JAVA_HOME/temp/old_classes/ jar cf rt_debug.jar * cp rt_debug.jar $JAVA_HOME/jre/lib/ mv $JAVA_HOME/jre/lib/rt.jar $JAVA_HOME/lib/rt_old.jar cd $JAVA_HOME/jre/lib/ ln -s rt_debug.jar rt.jar rm -rf $JAVA_HOME/temp[不会看JDK源代码,相当于没学过Java。网上不容易找到一篇帮助我解决了如何在Eclipse下查看JDK源代码 的文章。       核心提示:在Eclipse中查看JDK类库的源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值