mac os的eclipse中debug JDK1.7时显示本地变量的问题

MAC osx 10.8自带apple提供的jdk1.6, 但是不带src和doc. 这对于一个经常debug jdk的人来说,很麻烦. 怎么办?

1, 去oracle官网上下载最新的jdk1.7 for mac osx: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

2, 直接安装jdk1.7. Oracle jdk1.7中包含src和doc.

3, 安装完毕,这时候,mac osx中的默认java变成了oracle的1.7版本. 这并不是我想要的,我只是想拿1.7作为eclipse项目的build JVM, 但不想让1.7成为mac系统的jvm. 下面恢复mac jvm.

4, 先到目录/Library/Java/JavaVirtualMachines,将其中的jdk1.7剪贴到eclipse的workspace下. JavaVirtualMachines下面没有了jdk1.7,就会自动转回使用/System/Library/Java/JavaVirtualMachines下面的系统自带jvm.

5, 还没完,jdk1.7的安装同时更改了applet和webstart的jre, 我还需要将这些jre也转回来. 跟着apple的支持文档走: http://support.apple.com/kb/HT5559

现在mac osx跟原来一样了,任何配置都没有被改变. 唯一不同的是,我们多出来一份绿色版的oracle jdk 1.7. 它放在eclipse的workspace下面以供使用. 接下来就是打开eclispe,在preferences中的installed JRE加入jdk 1.7. 其src.zip会被自动关联.

在这里插入图片描述

然后将你的项目转为使用jdk1.7. 开始你的debug之旅. 高兴吧? No, 为什么本地变量不显示? 看下图

在这里插入图片描述

我在debug类ResourceBunble,本地变量里面却不显示变量,甚至连parameter都变成了arg0. 原因在于oracle提供的jre中rt.jar不带debug信息.orcale在编译src的时候,使用了 javac -g:none 意思是没有debug info, 这样可以减小rt.jar的大小. 若想正常调试jdk, 就只能重新编译src. 这里提供一个简单的src编译方法.

1, 在eclipse中新建一个项目"jdk", 然后导入jdk1.7中的src.

在这里插入图片描述

2, 将jdk export as jar. 起名字为rt_debug.jar.

3, 修改jre1.7的定义,将rt_debug.jar添加到jre中,并一定要放在最前面.
在这里插入图片描述

4, 点击finish保存.至此,eclipse中的jdk1.7便可以debug了.如下图:

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值