Java虛擬機器(JVM原始碼):搭建OpenJDK(10)原始碼除錯環境
阿新 • • 發佈:2018-11-09
為什麼要自己除錯
在前面的文章,已經介紹了如何編譯自己的OpenJDK。
但是光擁有了自己的JDK版本肯定是不夠的。
為了深入瞭解Java例項的建立、初始化和執行流程以及內部實現原理,DEBUG是必不可少的必殺技。
所以,作為搞技術的有必要學習如何除錯JVM原始碼。
一、搭建前準備
我這裡針對的是我自己的環境,您可以根據你自己的環境,去搭建,道理都是一樣的。
- OS:Mac系統
- IDE:Clion。下載地址
- 程式碼:OpenJDK10
首先你得安裝一個Clion,因為HotSpot虛擬機器是C++寫的。
二、驗證Clion是否正確安裝
你需要建一個新的小Demo,看看Clion是否能用。
你只需要新建一個專案。
Clion就會自動給你生成一個HelloWorld的專案。
如果執行能夠正常輸出,那麼Clion就Ok,如果不能,你就自己調一調。
三、匯入專案
注意:你這裡一定是要匯入src下面的hotspot資料夾。千萬不要把src匯入進去了,否則你在配置
run configuration
的時候,會發現target找不到。
File > Import Project
- 一定要匯入
/Users/wangdong/Develop/OpenJdk/openjdk/src/hotspot
匯入成功後,是這樣的效果
雖然有些許報錯,但是不影響使用。
四、編輯配置
如下圖編輯DEBUG配置資訊
1. Executable
選擇之前build出的映象裡的java可執行檔案(i.e. build/macosx-x86_64-normal-server-slowdebug/jdk/bin/java)
2. Program arguments
填寫-version
,輸出Java版本
3. Before launch
注意:這裡一定要移除Build,否則會報錯無法除錯
五、除錯原始碼
在hotspot/share/runtime/thread.cpp
檔案的Threads::create_vm
好啦,到這裡就可以除錯環境就搭建好了。
後續,我們會一起來Debug,在最新的Jdk10的世界探索。