eclipse无法断点调试JDK源码的问题
最近换了新版的eclipse,在jdk源码里面,打断点发现无法进入源码调试,程序直接跳过,已查资料发现自己eclipse配置的是jre环境的。
此处要配成jdk目录才有效
打开preferences,点击java ,在点击installed JRES
选中jre的目录,我这里只有一个,是我jdk的安装目录,
将JRE home配置成jdk的目录,
点击Restore Default就可以调试了。
这里简单说下jre和jdk的区别。
JRE: Java Runtime Environment
JDK:Java Development Kit
JRE包含了java的虚拟机,运行时类库。如果你只需运行java程序,安装jre就行了。
JDK包含了JRE,同时还包含了编译java源码的编译器javac,提供了JVM和Runtime辅助包。如果你是开发java程序的话就必须安装JDK
https://blog.csdn.net/cherrycheng_/article/details/51004386
问题效果图:
解决后的效果:
具体步骤:
1.制作可调试的rt.jar包
1.1 .在D盘新建jdk7_src及jdk7_rt-debug两个文件夹
1.2.复制JDK源码
将环境变量中配置的java_home地址或者将用的外部JDK安装目录下的src.zip
复制到D:/jdk7_src,解压.效果如下图
1.3.选择要编译的源码
原文中说,留下java,javax,org三个文件夹就足够了,其他都可以删除。
我只是把swing的内容删除了,其他都留下了。大伙可以随意。
swing包目录位置:com\sun\java\swing,javax\swing
1.4.得到要处理的java文件名
命令及效果图如下:
要查看一下,自动生成的filelist.txt中是否有内容哦,没有数据的话下面的操作是没用的。
D:
cd D:\jdk7_src
dir /B /S /X *.java > filelist.txt
1.5.复制jre/lib/rt.jar
把JDK安装目录(复制src.zip的那个目录)下jre/lib下的rt.jar复制到jdk7_src目录下
1.6.生成一些可调试的class文件夹
执行如下命令,成功后,jdk7_rt-debug文件夹会产生一些可调试的class文件夹,如下图:
如果没有,请打开jdk7_src/log.txt,ctrl+F查找“错误”,并解决。
一般,将报错的java路径及路径对应的文件删除,再执行dir /B /S /X *.java > filelist.txt即可。
<span style="font-family:KaiTi_GB2312;font-size:18px;">javac -J-Xms16m -J-Xmx1024m -sourcepath D:\jdk7_src -cp D:\jdk7_src\rt.jar -d D:
\jdk7_rt-debug -g @filelist.txt >> log.txt 2>&1</span>
1.7.将这些文件打包成Jar
命令和效果如下图
cd ..
cd jdk7_rt-debug
jar cf0 rt_debug.jar *
2.使用可调试的rt.jar
2.1.把rt_debug.jar放入JDK中
放入java_home/jre/lib/endorsed目录
2.2.将rt_debug.jar加入Eclipse使用的JDK中
2.3.添加rt_debug.jar的源码包
2.4.开始debug吧,你成功了!!
如果失败了,下载我的试试吧
eclipse无法断点调试JDK源码的问题的更多相关文章
- eclipse如何debug调试jdk源码(任何源码)并显示局部变量
最近要看struts2源码 仿照了一下查看jdk源码的方式 首先你要有strtus2的jar包和源码,在struts官网上下载时,选择full版本,里面会有src也就是源码了. jar导入项目,保证可 ...
- eclipse如何debug调试jdk源码
java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debug时查看变量却十分麻烦.例如调试HashMa ...
- eclipse如何debug调试jdk源码,并显示局部变量
http://blog.csdn.net/xuefeng0707/article/details/8738869 http://blog.csdn.net/leehsiao/article/detai ...
- 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值
最近突然萌发了研究JDK源码的想法,所以就想到了在自己常用的Eclipse上可以调试JDK源码. 整个设置过程也很简单: 首先你要安装好JDK(我的JDK安装路径根目录是D:\Java\jdk-8u9 ...
- 跟踪调试JDK源码时遇到的问题及解决方法
目录 问题描述 解决思路 在IntelliJ IDEA中调试JDK源码 在eclipse中调试JDK源码 总结 问题描述 最近在研究MyBatis的缓存机制,需要回顾一下HashMap的实现原理.于是 ...
- eclipse调试jdk源码
摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...
- netbeans工具使用xdebug断点调试php源码
对有有经验的程序员,使用echo.print_r().print_f().var_dump()等函数足以调试php代码,如果需要在IDE工具中使用断点调试,xdebug就是一个非常好的php调试工具. ...
- JDK源码重新编译——支持eclipse调试JDK源码--转载
最近在研究jdk源码,发现debug时无法查看源码里的变量值. 因为sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar. 下面这六步是编译jdk的具体步骤: Step 1: ...
- 利用eclipse调试JDK源码
先看效果图 综合网上各种教程,总结如下 新建 D:/jdk/src .D:/jdk/debug 目录 src存放源码 debug存放编译结果 将 %JAVA_HOME%/src.zip 解压到 D:/ ...
随机推荐
- [转帖]Loading Data into HAWQ
Loading Data into HAWQ Leave a reply Loading data into the database is required to start using it bu ...
- 21 go并发编程-下
如何等待一组goroutine结束 1. 使用不带缓冲区的channel实现. 原理: 每个goroutine都往一个channel里写入一个值,然后我们去遍历这个管道的数值,由于不带缓冲区,那么必须 ...
- springBoot整合ftp上传图片功能
知识点: springBoot后端项目,接收前端框架传到的图片,把图片上传到ftp图片服务器上 注意:在上传的过程中可能回出现,可以创建文件夹,但是图片上传不了的问题: 尝试了网上的很多方法,最后将f ...
- Keil不能跳转到函数的定义怎么办
有时候我们右键一个函数名并点击Go To Definition Of xxx时,Keil却提示无法找到定义.但这个函数确实有定义的.这个时候可以试着重新编译整个工程,即可跳转到定义了.
- oracle客户端instantclient如何配置
下载下来的instantclient-basic-nt-11.2.0.4.0.zip文件解压缩D:\Program Files\instantclient_11_2(可以选择自己的目录) (1) 增加 ...
- Go语言基础之数组
Go语言基础之数组 本文主要介绍数组(array)及它的基本使用. Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化 ...
- poj3335
半平面交&多边形内核.因为没注意了点的情况自闭了. https://blog.csdn.net/qq_40861916/article/details/83541403 这个说的贼好. 多边形 ...
- adb 常用命名
adb是Android Debug Bridge的简称, 就是起到调试桥的作用,用来操作android设备 adb help (显示帮助信息) adb devices (获取设备列表及设备状态) ad ...
- 使用jmeter 进行http 接口测试
前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对 ...
- oracle忘记密码用户名被锁定_解决方案
本方案参考http://www.cnblogs.com/iosundersunshine/p/5313174.html 解决方案(window): 进入cmd命令 按照图上五步,即可 1,输入 ech ...