利用eclipse调试JDK源码
先看效果图

综合网上各种教程,总结如下
- 新建 D:/jdk/src 、D:/jdk/debug 目录
- src存放源码
- debug存放编译结果

- 将 %JAVA_HOME%/src.zip 解压到 D:/jdk/src,只保留java、javax、org三个目录即可

- 将 %JAVA_HOME%/jre/lib/rt.jar 复制到 D:/jdk/rt.jar

- 打开cmd,进入 D:/jdk 目录
cd d:jdk
d:
dir /B /S /X .\src\*.java > .\src.txt
## 会生成 D:/jdk/src.txt,文件内容是待编译的Java源文件路径
javac -J-Xms16m -J-Xmx1024m -sourcepath .\src -cp .\rt.jar -d .\debug -g @.\src.txt >> .\log.txt 2>&1
## 会编译 src.txt 文件中列出的Java源文件
## 编译出来的class文件会放到 D:/jdk/debug
## 编译过程中会写到 D:/jdk/log.txt
- cmd进入 D:/jdk/debug 目录
cd dedug
jar cf0 rt_debug.jar *
## 将class文件生成 D:/jdk/debug/rt_debug.jar

复制 D:/jdk/debug/rt_debug.jar 到 %JAVA_HOME%/jre/lib/endorsed/rt_debug.jar
- 如果没有endorsed目录,自己新建一个
在eclipse中打开Window -> Preferce -> Installed JREs
- 选择jdk,点击Edit,点击Add External JARs
- 选择导入 %JAVA_HOME%/jre/lib/endorsed/rt_debug.jar
- 确保rt_debug.jar的位置在rt.jar前面
- 选择rt_debug.jar,点击Source Attachment选择 %JAVA_HOME%/jdk/src.zip 添加源代码文件
- 删除rt.jar的Source Attachment
- 重启eclipse

利用eclipse调试JDK源码的更多相关文章
- eclipse调试jdk源码
摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...
- JDK源码重新编译——支持eclipse调试JDK源码--转载
最近在研究jdk源码,发现debug时无法查看源码里的变量值. 因为sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar. 下面这六步是编译jdk的具体步骤: Step 1: ...
- eclipse如何debug调试jdk源码(任何源码)并显示局部变量
最近要看struts2源码 仿照了一下查看jdk源码的方式 首先你要有strtus2的jar包和源码,在struts官网上下载时,选择full版本,里面会有src也就是源码了. jar导入项目,保证可 ...
- 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值
最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u9 ...
- 跟踪调试JDK源码时遇到的问题及解决方法
目录 问题描述 解决思路 在IntelliJ IDEA中调试JDK源码 在eclipse中调试JDK源码 总结 问题描述 最近在研究MyBatis的缓存机制,需要回顾一下HashMap的实现原理.于是 ...
- eclipse查看jdk源码,及反编译查看
jdk中的包: dt.jar是关于运行环境的类库,主要是swing的包 tools.jar是关于一些工具的类库 rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的cla ...
- Eclipse系列:如何设置Eclipse关联JDK源码和文档
一.设置Eclipse关联JDK源码 1.打开Eclipse-->Windows-->Preferences 2. 在弹出的Preferences对话框中,Java--> ...
- 利用IDEA搭建JDK源码阅读环境
利用IDEA搭建JDK源码阅读环境 首先新建一个java基础项目 基础目录 source 源码 test 测试源码和入口 准备JDK源码 下图框起来的路径就是jdk的储存位置 打开jdk目录,找到sr ...
- eclipse无法断点调试JDK源码的问题
最近换了新版的eclipse,在jdk源码里面,打断点发现无法进入源码调试,程序直接跳过,已查资料发现自己eclipse配置的是jre环境的. 此处要配成jdk目录才有效 打开preferences, ...
随机推荐
- php配置(php7.3)
[PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP's initialization file, general ...
- jquery datatable显示隐藏子表
<table id="parentTable"> <thead> <tr> <th> ...
- Centos7 samba 匿名共享 简单config
安装Samba yum install samba samba-client samba-common -y 备份原始的Samba配置文件: mv /etc/samba/smb.conf /etc/s ...
- label显示不同颜色的字体
NSString *contentSrt = [NSString stringWithFormat:@"%@ (%@)",categoryModel.categoryName, c ...
- MFC自己主动获取网络地址函数实现----广播地址,网关,子网掩码
void CSetSignalBoxDlg::OnBnClickedButtonGetbroadcastaddr() { //凝视部分为还有一种获取IP方式,可略过 //char Name ...
- 使用 BenchmarkDotnet 测试代码性能 【Win10】单元测试中捕获异步方法的指定异常
先来点题外话,清明节前把工作辞了(去 tm 的垃圾团队,各种拉帮结派.勾心斗角).这次找工作就得慢慢找了,不能急了,希望能找到个好团队,好岗位吧.顺便这段时间也算是比较闲,也能学习一下和填掉手上的坑. ...
- nohup 程序在后台运营 避免 xshell 卡死 通过 nohup.out分析调取系统命令时的异常分析
nohup 程序在后台运营 避免 xshell 卡死 [root@admin1 after_fc_distributed]# nohup /root/anaconda3/bin/python da ...
- html鼠标事件
jsp鼠标事件汇总 onclick 单击时触发的事件,这个比较常用 ondblclick 双击时触发的事件 onmoucedown 鼠标按下时触发的事件(个人觉得与onclick异曲同工) onmou ...
- Linux在终端启动程序关闭终端不退出的方法
一般情况下关闭终端时,那么在这个终端中启动的后台程序也会终止,要使终端关闭后,后台程序保持执行,使用这个指令: nohup 命令 & 如:nohup ./studio.sh & 网上其 ...
- [App Store Connect帮助]三、管理 App 和版本(6.3)转让 App:发起 App 转让
在发起前,您需要接收者组织中“帐户持有人”的 Apple ID,并且满足 App 转让的条件.请前往 App 转让条件. 注:App 转让完成后,该 App 会从您的帐户中移除,因此,您应当备份该 A ...