概述
服務端程序運行在一台遠程服務器上,我們可以在本地服務端的代碼(前提是本地的代碼必須和遠程服務器運行的代碼一致)中設置斷點,每當有請求到遠程服務器時時能夠在本地知道遠程服務端的此時的內部狀態
測試項目
創建方式參考:【Java】Maven Tomcat插件使用
項目中新增了一個測試的Servlet,如下:
1 public class HelloWorldServlet extends HttpServlet { 2 3 @Override 4 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, 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端口
使用IDEA為例
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中,增加斷點即可調試。

使用Eclipse為例
1、服務端(本例也是在同一台電腦上運行)運行java項目,命令:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar test-webapp-1.0-SNAPSHOT-war-exec.jar
2、本地IEclipse配置
a、
b、
c、
3、配置完成,連接調試,選擇得bug即可
