java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码。虽然官方的jdk自带了源码包src.zip,然而在debug时查看变量却十分麻烦。例如调试HashMap的 public V put(K key, V value) 方法并查看key的值时会提示:

可以看到不能显示变量的值了,原因在于oracle提供的jre中rt.jar不带debug信息:orcale在编译src时使用了 javac -g:none,意思是不带任何调试信息,这样可以减小rt.jar的大小。若想正常调试jdk,就只能重新编译src.zip。这里介绍下编译src.zip的方法。

  1. 在eclipse中新建一个java项目“jdk”,然后在src目录上右键选择“import”选中"Archive File",选择安装的jdk1.7(或jdk1.6)根目录的源码src.zip导入,导完目录结构如下(不用管编译报错):

  2. 右键jdk项目的src选择export...,然后导出为jar包,起名为rt-debug.jar:


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


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



    参考地址:http://my.oschina.net/xionghui/blog/497361
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐