【Java】使用IDEA遠端除錯Java程式碼 【Java】Maven Tomcat外掛使用
阿新 • • 發佈:2018-11-04
概述
服務端程式執行在一臺遠端伺服器上,我們可以在本地服務端的程式碼(前提是本地的程式碼必須和遠端伺服器執行的程式碼一致)中設定斷點,每當有請求到遠端伺服器時時能夠在本地知道遠端服務端的此時的內部狀態
測試專案
建立方式參考:【Java】Maven Tomcat外掛使用
專案中新增了一個測試的Servlet,如下:
1 public class HelloWorldServlet extends HttpServlet { 2 3 @Override 4 protected void service(HttpServletRequest req, HttpServletResponse resp) throwsView CodeServletException, IOException { 5 6 System.out.println("-------HelloWorldServlet--------"); 7 resp.getWriter().print("SUCCESS"); 8 } 9 }
服務端使用特定JVM引數執行程式碼
要讓遠端伺服器執行的程式碼支援遠端除錯,則啟動的時候必須加上特定的JVM引數,這些引數是:
1 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
其中5005是除錯埠
本地連線遠端伺服器debug埠
1、服務端(本例也是在同一臺電腦上執行)執行java專案,命令:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar test-webapp-1.0-SNAPSHOT-war-exec.jar
2、本地IDEA配置
3、配置完成,連線除錯
控制檯輸出資訊,顯示已連線
4、在Servlet中,增加斷點即可除錯。