java - Maven Eclipse Debug "JDWP Transport dt_socket no se pudo inicializar, TRANSPORT_INIT(510)"
debugging jboss-weld (7)
Estoy tratando de depurar las pruebas de Maven en Eclipse. Cuando lanzo pruebas con la opción maven.shefire.debug, recibo este error:
ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
/bin/sh: line 1: 27500 Abort trap
Es lo mismo cuando intenté tu debug de lanzamiento en mi shell.
Intenté agregar la opción maven forkMode = nunca, y obtengo otro error con mi artefacto de soldadura que no tengo sin la opción maven.surefire.debug:
Error loading Weld bootstrap, check that Weld is on the classpath
Sin embargo, Weld está en mi classpath.
Algunas ideas ?
¡La solución para mí fue eliminar los puntos de interrupción del proyecto! Si tiene muchas sucursales y ha cambiado recientemente, a veces el eclipse perdió algunos puntos de interrupción.
Hace mucho tiempo que se hizo la pregunta, pero recientemente tuve el mismo problema.
Abrir el Administrador de tareas
Matar todo el proceso "java.exe"
Relanzar la debug mvn
Espero que ayude
Para agregar ... Tuve un problema similar la semana pasada, cuando la depuración con eclipse fue imposible.
FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)
ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690]
Lamentablemente, ninguna de las soluciones que puedo encontrar en línea fue útil.
El problema resultó ser que, de alguna manera, el firewall eliminó todas las DLL en mi contenedor JRE ... (por lo que dt_socket.dll desapareció por completo).
Reinstalar todo el JRE ayudado.
Para matar un proceso escuchando en un puerto:
Este comando debe listar los procesos que escuchan en todos los puertos:
netstat -ano
La opción -o
mostrará la identificación del proceso.
Si está utilizando un sistema * nix, puede refinar un poco más con:
netstat -ano | grep <badport>
Cuando tenga el ID de proceso, puede terminarlo con:
Windows:
- Abra el Administrador de tareas, agregue la columna PID con Ver> Seleccionar columnas> PID
- Encuentra el proceso y haz clic derecho para matarlo
Otros:
kill <PID>
Por lo general, el problema es que otro proceso mantiene abierto el puerto de depuración de Maven 5005. En mi mac, comprobé qué proceso mantiene este puerto abierto ejecutando:
lsof -i tcp:5005
La salida fue:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 9089 my_user 7u IPv4 0xe88ec542fd4cffc9 0t0 TCP *:avt-profile-2 (LISTEN)
Y luego maté el proceso:
kill -9 9089
Si desea que estos 2 procesos puedan ejecutarse juntos, tendrá que cambiar el puerto de depuración de Maven de al menos uno de ellos. Consulte: http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html .
Solo por documentación, tuve exactamente el mismo error, corriendo en mi local:
ERROR: error de transporte 202: enlace fallido: dirección ya en uso ERROR FATAL en método nativo: JDWP No se han iniciado los transportes, jvmtiError = AGENT_ERROR_TRANSPORT_INIT (197) ERROR: No se pudo inicializar JDWP Transport dt_socket, TRANSPORT_INIT (510)
en mi caso, el puerto no era el problema, sino el archivo host. La solución es agregar / re-agregar / descomentar:
127.0.0.1 localhost
El archivo de configuración establece localhost
como predeterminado, por lo que una solución es agregar ese host o cambiarlo por uno personalizado.
Vaya a Debug configuration
-> Remote Java Application
-> pestaña Connect
, marque Allow termination of remote JVM
.
Luego, cuando vaya a reiniciar el servidor / servidor, vaya a la Debug perspective
y haga clic en el botón de read / stop
...