最近換了新版的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的源碼包