para jdk descargar consola actualizar abrir java debugging

jdk - ¿Cuáles son las opciones de línea de comandos de Java para configurar para permitir que JVM sea depurada de forma remota?



java 8 (6)

Sé que hay algunos JAVA_OPTS para configurar para depurar remotamente un programa Java.

¿Qué son y qué significan?


Java

java -Xdebug -Xrunjdwp: transporte = dt_socket, servidor = y, dirección = 8001, suspender = y -jar destino / cxf-boot-simple-0.0.1-SNAPSHOT.jar

address especifica el puerto en el que permitirá la depuración.

Maven

Depure Spring Boot con Maven: mvn spring-boot: ejecute -Drun.jvmArguments = "-Xdebug -Xrunjdwp: transport = dt_socket, server = y, suspend = y, address = 8001"


Antes de Java 5.0, use los argumentos -Xdebug y -Xrunjdwp . Estas opciones aún funcionarán en versiones posteriores, pero se ejecutarán en modo interpretado en lugar de JIT, que será más lento.

Desde Java 5.0, es mejor usar la opción única de -agentlib:jdwp :

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044

Las opciones en los -Xrunjdwp o agentlib:jdwp son:

  • transport=dt_socket : significa la forma en que se usa para conectarse a JVM (el socket es una buena opción, se puede usar para depurar una computadora distante)
  • address=8000 : puerto TCP / IP expuesto, para conectarse desde el depurador,
  • suspend=y : si ''y'', dile a la JVM que espere hasta que el depurador esté conectado para comenzar la ejecución; de lo contrario (si ''n''), comienza la ejecución de inmediato.


Hay muchos problemas ambientales si está utilizando Maven. Entonces, si inicia su programa desde maven, simplemente ejecute el comando mvnDebug en lugar de mvn y adjunte un depurador en el puerto 8000. Usted se encarga de todos los problemas ambientales.


Para java 1.5 o superior:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>

Para java 1.4:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>

Para Java 1.3:

java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>

Aquí está la salida de un programa simple:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled Listening for transport dt_socket at address: 1044 Hello whirled


Tengo este artículo marcado en la configuración de Java 5 y más abajo.

Básicamente ejecutarlo con :

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044

Para Java 5 y superior , ejecútalo con:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044