文档章节

eclipse如何debug调试jdk源码

穿林度水
 穿林度水
发布于 2016/11/07 14:27
字数 281
阅读 17
收藏 0

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目录上导入"Archive File",选择源码src.zip导入,导完目录结构如下(不用管编译报错):

     

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

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

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

© 著作权归作者所有

穿林度水
粉丝 0
博文 250
码字总数 167120
作品 0
海淀
程序员
私信 提问

暂无文章

错误代码0x800700c1 VS2019加载项目就闪退

--win10更新错误代码0x800700c1 解决方法:把防火墙什么的关了。然后重启下电脑。在检查更新,最后我把杀毒。卫士什么的卸载了。 退出360安全卫士,重新运行vs2019,成功!!! Windows软件异...

南风末
24分钟前
0
0
免费的编程中文书籍索引

免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版...

TreeZhou0511
38分钟前
2
0
线程池之ThreadPoolExecutor使用

ThreadPoolExecutor提供了四个构造方法: ThreadPoolExecutor构造方法.png 我们以最后一个构造方法(参数最多的那个),对其参数进行解释: public ThreadPoolExecutor(int corePoolSize, /...

天王盖地虎626
56分钟前
5
0
小程序登陆流程

http://www.bubuko.com/infodetail-2592845.html

为何不可1995
今天
1
0
Consul+Spring boot的服务注册和服务注销

一图胜千言 先看一看要做事情,需要在Consul上面实现注册中心的功能,并以2个Spring boot项目分别作为生产者,消费者。 Consul 假设已经完成文章《Consul的开发者模式之Docker版》中的所有的...

亚林瓜子
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部