zoukankan      html  css  js  c++  java
  • 【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即可

  • 相关阅读:
    Linux之lsof命令
    lnmp一键安装的卸载
    MySQL密码忘了怎么办?MySQL重置root密码方法
    LNMP状态管理命令
    perl5 第一章 概述
    行政级别详解
    http://dl.fedoraproject.org/pub/epel/7/x86_64/,开源软件清单list
    Linux Centos 系统上安装BT客户端 Transmission
    在VPS上安裝BT軟體Transmission
    What is a good EPUB reader on Linux
  • 原文地址:https://www.cnblogs.com/h--d/p/9905015.html
Copyright © 2011-2022 走看看