如果发现eclipse无法dedug jdk的源码,可参考https://blog.csdn.net/leehsiao/article/details/50562871

 

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

eclipsedebug调试jdk源码-终极办法

eclipsedebug调试jdk源码-终极办法

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

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

    eclipsedebug调试jdk源码-终极办法

     

  2. 右键项目export...,然后导出为jar包,起名为rt_debug.jar:

    eclipsedebug调试jdk源码-终极办法

    eclipsedebug调试jdk源码-终极办法

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

    eclipsedebug调试jdk源码-终极办法

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

    eclipsedebug调试jdk源码-终极办法

    eclipsedebug调试jdk源码-终极办法

相关文章:

  • 2021-08-21
  • 2021-12-06
  • 2021-04-25
  • 2021-05-04
  • 2021-09-15
  • 2021-11-07
猜你喜欢
  • 2021-10-31
  • 2021-10-11
  • 2021-11-05
  • 2021-12-23
  • 2021-10-22
  • 2021-10-24
  • 2021-09-24
相关资源
相似解决方案