Eclipse、IntelliJ IDEA遠程斷點調試

本地斷點調試相信大家已經都已經玩的很溜了,但遠程斷點可能對有些人來說還有點陌生。在實際開發過程中我們可能會有幾套不同的環境,比如開發環境、測試環境、生產環境。測試環境我們一般會部署在遠程機上,有時我們在開發環境調試正常的代碼部署到測試或者生產環境上會有莫名其妙的bug,對於生產環境我們基本上只能通過拉日誌分析,分析日誌文件並嘗試重現bug.這會帶來的問題還是不少的.首先,日誌的分析是一項比較耗時的工作;其次,現有的日誌記錄不一定能反映出問題,你可能需要多次重複這個過程(分析日誌->猜測問題->加日誌->部署->獲取日誌)來慢慢逼近問題.倘若是測試環境,我們還多了一項可供選擇的手段,即遠程調試:將程序在測試環境中以debug模式啓動,在本機使用開發工具(如Eclipse、IntelliJ IDEA)在工程中設置斷點進行調試。下面就讓我們來看看如何使用吧!
首先我們需要在應用的啓動腳本里添加一行腳本 –debug 端口號(端口號自己取,保證和應用不衝突就行)
方式一:
這裏寫圖片描述
這裏我定的端口是8989
Eclipse遠程調試
1、進入到debug模式,選擇Debug Configurations
這裏寫圖片描述
2、選擇Debug Configurations右鍵new,相關信息填完後點擊apply-ok
這裏寫圖片描述
3、以上步驟完成後,點擊啓動,連接後我們可以在本地代碼中打上斷點,通過請求遠程機器上的應用,就可以在本地degug調試了
這裏寫圖片描述

IntelliJ IDEA遠程調試
用IntelliJ IDEA工具的話相對於稍微要簡單一點
1、選擇應用,點擊下拉框選擇Edit Configurations
這裏寫圖片描述
2、點擊+號,選擇Remote,和之前一樣,填好應用名,遠程機ip和遠程端口
這裏寫圖片描述

方式二:
這裏寫圖片描述
在啓動腳本中加入以下一段腳本

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=64443 -Dfile.encoding=UTF-8

然後其他步驟與方式一一樣

注意事項:
1、如果程序需要接收來自控制檯的輸入,應該在測試環境中的控制檯中輸入.
2、測試環境的代碼和開發環境中不一致的情況.如果Eclipse中設置的斷點的行數剛好對應測試環境程序中的空行,將無法跳入斷點,看上去就像調試並沒有成功一樣.這種情況並不會發生在本地調試中,因爲本地調試無法在空行上設置斷點.

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