Java通过命令行进行远程debug所需参数

Java通过命令行进行远程debug所需参数

  1. jdk Version >= 9

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:5005
    
  2. 5 <= jdk Version <= 8

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
    
  3. jdk Version = 1.4

    -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
    
  4. jdk Version <= 1.3

    -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
    
  • suspend=y表示阻塞,等待调试工具连接后再运行main方法;suspend=n表示不阻塞,执行完main方法
  • address=5005设置debug启动的端口

示例:

java 参数 全限定类名

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 com.aksr.demo.Main

or

java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 spring-boot-demo-0.0.1-SNAPSHOT.jar

注意:参数一定要在全限定类名之前,否则debug不生效

使用IDEA进行远程调试

  1. linux服务器上执行debug命令启动项目
  2. idea打开项目,点击Edit Configurations
  3. 点击"+"添加图标,并搜索Remote
  4. 选择远程配置的jdk版本以及调试端口,然后确定
  5. 添加断点,点击debug启动本地项目

你可能感兴趣的:(Java通过命令行进行远程debug所需参数)