【Java】使用IDE开发工具远程调试Java代码


概述

  服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道远程服务端的此时的内部状态

测试项目

  创建方式参考:【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 }
View Code

 

服务端使用特定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即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM