2008-09-26 10 views

Respuesta

198

que tienen this article Bookmarked acerca de esta configuración con Eclipse para Java 5 y por debajo.

Básicamente run it with:

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

Para Eclipse con Java 5 and above, ejecutarlo con:

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

Antes de Java 5.0, utilice -Xdebug-Xrunjdwp y argumentos. Estas opciones seguirán funcionando en versiones posteriores, pero se ejecutará en modo interpretado en lugar de JIT, que será más lento.

De Java 5.0, es mejor utilizar el -agentlib:jdwp sola opción:

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

Opciones en -Xrunjdwp o agentlib:jdwp argumentos son:

  • transport=dt_socket: significa que la forma utilizada para conectarse a JVM (socket es una buena opción, que puede ser utilizado para depurar un ordenador remoto)
  • address=8000: puerto TCP/IP expuesto, para conectar desde el depurador,
  • suspend=y: si 'y', decirle a la JVM que esperar hasta el depurador asociado a comenzar la ejecución, de lo contrario (si 'n'), se inicia la ejecución de inmediato.
+6

Su son exactamente correcto .. He intentado con ** - Xdebug ** y ** - ** Xrunjdwp pero no me paré' t trabajo. cuando probé con ** - Xrunjdwp ** o ** agentlib: jdwp ** Está funcionando.(en Java 7) – RoboAlex

+0

Esto solo funcionó para mí cuando puse comillas, de lo contrario obtuve este error: ERROR: JDWP Transporte no servidor dt_socket server = y suspend = y address = 8000 debe tener una dirección de conexión especificada a través del ' address = 'option – Ring

+1

Está 'Xrunjdwp' obsoleto (¿o eliminado?) ¿por qué elegiríamos' agentlib: jdwp' sobre él? – ArtOfWarfare

4

para Java 1.5 o mayor:

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í es 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 
1

Hay una gran cantidad de problemas de medio ambiente si está utilizando Maven. Por lo tanto, si inicia su programa desde Maven, simplemente ejecute el comando mvnDebug en lugar del mvn y adjunte un depurador en el puerto 8000. Se encargará de todos los problemas de entorno.

Cuestiones relacionadas