基於IDEA Java 項目遠程DEBUG調試

     遠程調試是指服務端程序運行在一臺遠程服務器上,我們可以在本地服務端的代碼(前提是本地的代碼必須和遠程服務器運行的代碼一致)中設置斷點,每當有請求到遠程服務器時時能夠在本地知道遠程服務端的此時的內部狀態。

一、 場景

    1. 第三方接口開發的異步回調接口;如:微信支付、支付寶支付等

    2. 依賴特定環境的測試,只能把本地代碼放入到該環境中;


二、 常見環境

    1. 在服務器端以Jar啓動的應用,如現在非常流行的Spring Boot 

       a. 在啓動springboot時默認使用java命令來啓動。 比如,示例項目啓動命令爲:java -jar xxx.jar

開啓遠程調試模式的命令爲:

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 xxxx.jar

執行該命令後,在服務器端會開啓遠程調試端口5005(端口可自定義,但要注意服務器防火牆); 在客戶端可以通過 telnet host port命令

檢查服務器遠程端口是否可以連接。

b. 在開發機器上IDEA工具 配置

    首先 Edit configurations,點擊+號,創建一個Remote應用。



填寫name,配置Host地址(遠程服務器地址)和端口(選一個未被佔用的端口)。


點擊Ok按鈕,再啓動剛纔配置的Remote服務; 看控制檯輸出信息,是否與服務器端建立連接; 建立連接完成,對需要debug的代碼打上斷點

,剩下的操作步驟就是訪問遠程服務器對應的業務請求,本地就會同步debug。其餘的操作與本地debug相同,此處就不再贅述了。


    2. 以Tomcat啓動的Web項目

       a. 在服務器上開啓tomcat遠程調試命令(已Windows爲例):  %TOMCAT_HOME%\bin\catalina.bat     jpda   start;   

    在服務器端口開啓遠程調試默認端口: 8000; 

     如需更改TOMCAT開放默認遠程調試端口

     方法1、 
WIN系統,在catalina.bat裏: 

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
Linux系統,在catalina.sh裏: 
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" 

b. 開發機器IDEA 配置請參考上面 IDEA工具配置

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