eclipse遠程調試

在開發調試程序當碰到本地功能正常而測試環境出現問題時須要用到遠程調試的功能。現針對eclipse下遠程調試服務器上的web程序或者java程序做出總結html

eclipse遠程調試java程序
第一步:遠程服務器上的java程序以調試模式啓動並指定調試端口java

以下截圖在遠程服務器上用java命令以調試模式啓動dubbo服務的java程序並指定調試端口爲9990(這個端口後面會用到)linux

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n -Xbootclasspath/a::/app/appsoft/taskpool/conf -jar taskpoolservice-0.0.1.jar com.psbc.cos.TaskpoolserviceApplication && tail -f nohup.outweb

 

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n com.alibaba.dubbo.container.Main > /local/tmp/debug.logs 2>&1 &
第二步:在eclipse中配置遠程調試並打上斷點以debug模式啓動與服務器上一樣的程序(開始調試前須要確保本地服務代碼與遠程服務器上的代碼一致)tomcat

 

在eclipse的java啓動類中右鍵->Debug As->Debug Configurations服務器

 


建立一個遠程調試服務網絡

 


設置服務調試信息,注意端口與服務器上的服務調試商品保持一致而且本地到遠程服務器的網絡暢通,設置完成後點擊Debug將本地服務以調試模式啓動app

 


啓動成功後會出現以下圖紅框內所示的圖標(調試完成後也可點擊該圖標斷開遠程調試)eclipse

 


以下圖所示爲我本地接收到遠程服務器上的請求進而能夠進行遠程調試的效果圖socket


eclipse遠程調試tomcat程序
在eclipse中遠程調試tomcat程序的方法與調試JAVA程序相似,不一樣之處在於遠程服務器啓動tomcat時加入相應調試JVM參數,因爲時間緣由這裏不詳細說明,貼上網上一的參考連接:https://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html
修改tomcat的啓動腳本startup.bat。複製startup.bat爲startup-debug.bat,而後打開startup-debug.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%這一行,修改成「call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%」,而後在上面添加三行:

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=9000

set JPDA_SUSPEND=n


設置好服務器以debug模式啓動並指定端口後,仍然如前面所述在本地tomcat啓動參數中加入遠程調試參數並啓動便可對遠程環境上的相應程序進行調試
By the way:若是你的遠程linux服務器開啓了防火牆,且你在eclipse裏開啓遠程調試時報錯connection refused,connect timeout,須要檢查一下是否未開通對應調試端口的防火牆訪問權限,按以下方式添加:

一、linux開放服務端口

vi /etc/sysconfig/iptables

加入以下內容

 -A INPUT -p tcp -m tcp --dport 6001 -j ACCEPT 二、保存退出,重啓服務 service iptables restart

相關文章
相關標籤/搜索