條件:遠程項目必須和本地代碼相同。
1 遠端啓動項目:
在項目war/jar包所在目錄cmd命令啓動 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar spring-boot-demo-10-1-0.0.1-SNAPSHOT.jar,例如: F:\Code\EclipseProjects\spring-boot-demo-10-1\target> java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar spring-boot-demo-10-1-0.0.1-SNAPSHOT.jar
2 本地eclipse設置debug模式:
debug 右側下拉箭頭--debug configuration--remote java application 右鍵/new--project(遠程項目對應的本地代碼項目)--connection type(standard socket Attach)--Host(遠程ip)--port(遠程監聽端口8000)--debug按鈕。
之後,無反應,表示成功。若出現Failed to connect to remote VM. Connection refused. Connection refused: connect對話框,說明遠程監聽失敗。
失敗原因之一:遠程8000端口未啓動,或者啓動了,本地訪問不了遠程的8000端口。
本地測試方法:
1.控制面板-程序-程序和功能-啓用和關閉windows功能-telnet客戶端勾選。
2.cmd窗口命令,telnet 遠端ip 遠端端口(telnet 192.168.20.112 8000),如果失敗,則refused,說明無法監聽遠程8000端口。如果開空窗口,說明成功。
3.如果失敗,遠程服務器修改apache-tomcat-7.0.65\bin的startup.bat文件,文本格式打開,添加 SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 這句話後保存。
3 重啓遠程段項目(如1),重新設置本地eclipse項目(如2).本地項目斷點。
4 訪問遠程項目地址,調試本地斷點。
文章參考:https://blog.csdn.net/qq_39299893/article/details/80327294
https://blog.csdn.net/u011008029/article/details/50586793