ElasticSearch源碼調試,簡單實用,親測可用

基本流程按照官方文檔執行。尤其是工具版本,對於初學者不要亂改動。

git clone https://github.com/elastic/elasticsearch.git
cd elasticsearch 
git checkout --track origin/6.6

./gradlew idea #可以理解爲源碼編譯,一般問題均出在jdk版本

./gradlew run --debug-jvm #這一步可以理解爲啓動一個可以debug的elasticsearch服務

wget https://www.jetbrains.com/idea/download/download-thanks.html?platform=linux&code=IIC
tar zxvf ideaIC-2020.1.tar.gz
cd ideaIC-2020.1
./bin/idea.sh #啓動ide工具,然後按照官方文檔導入源碼和環境

#文檔中Run -> Attach to Process,執行成功後,如果想調試curl命令,則需要先斷開執行下面的操作:
# Run -> Edit Configuratons -> + -> Remote,得到一個Run/Debug Configurations頁面
# Name自己設置,HOST默認localhost,如果是真正的遠程調試則設置服務器所在的ip,Port設置8000 (因爲./gradlew run --debug-jvm 啓動的默認Port是8000)
# 其它項均不要改動,點擊ok。如果正常控制檯會打印顯示連接成功。
#在文件/server/src/main/java/org/elasticsearch/rest/RestController.java中的下述行(174)設置斷點。
#這是elasticsearch處理web請求的入口類,收到curl請求時就會停在這裏
tryAllHandlers(request, channel, threadContext); 

# 至此環境均準備好了,再開一個終端界面:
curl -i -XGET 'localhost:9200/' #隨便執行一句curl指令,此時ide中程序就會停在斷點處

這樣,我們就可以愉快的debug了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章