standard - java eclipse tutorial
Error de Eclipse: "No se pudo conectar a la VM remota" (26)
Recibo el siguiente error cuando inicio la depuración desde el IDE de Eclipse.
Mensaje:
“Failed to connect to remote VM. Connection Refused”
“Failed to connect to remote VM. Connection Refused”
¿Cuál podría ser la razón?
¡Elimina tu proxy del eclipse!
Vaya a Conexiones de red en Preferencias generales (Windows -> Preferencias) y configure "Proveedor activo" como "Directo"
Reinicia tu Eclipse después de eso
¿Ha configurado la VM remota para aceptar conexiones?
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=10000,suspend=n yourServer
¿Hay un firewall en el camino?
¿Estás especificando el host / puerto correcto?
¿Estás conectado a una VPN?
Agregaré una solución más posible, si está ejecutando esto en una máquina virtual (vmware, etc.), algún otro proceso en el host u otra máquina virtual ya podría tener el puerto con el que está tratando de conectarse. Detenga ese otro proceso o elija otro puerto.
Aumenta el valor de memoria de las propiedades
-
MEM_PERM_SIZE_64BIT
-
MEM_MAX_PERM_SIZE_64BIT
en el archivo setDomainEnv.cmd
de %weblogic_home%/user_projects/domains/your_domain/bin
Cree el archivo setenv.bat en la carpeta nib de Tomcat. Agregar SET JPDA_ADDRESS = 8787; Anule el puerto jpda Abra cmd, vaya a la carpeta bin de Tomcat y comience tomcat usando catalina jpda start Configure un punto de depuración en eclipse Luego compile su proyecto. Verifique localhost: 8080 / Implemente la guerra o jar en la carpeta webapps y esto debe implementar war en Tomcat. Luego envía la solicitud. se golpeará el punto de depuración NOTA: No edite el archivo catalina.bat. hacer cambios en el archivo setenv.bat
David Citron tiene razón: si el host local no se está resolviendo correctamente, puede causar este problema. He aquí cómo probar:
Si funciona cuando su PC no está conectada a la red (sin WiFi, sin cables de red). Si funciona en esas condiciones, es posible que deba asegurarse de que las direcciones se están resolviendo en el localhost
correctamente. Los mensajes que DDMS y adb.exe utilizan para la depuración y la comunicación a la máquina virtual deben resolverse correctamente a localhost
en su PC. (Sí, es extraño que otros comandos que utilizan DDMS y adb funcionen bien, pero la depuración no funciona. Parece que algo en DDMS o adb debe estandarizarse para que todos funcionen en las mismas condiciones).
Si necesita asegurarse de que las cosas se están resolviendo en localhost
correctamente:
1) Asegúrese de que esta línea esté en su /Windows/System32/drivers/etc/hosts
:
127.0.0.1 localhost
(puede tener cualquier cantidad de espacios en blanco entre "127.0.0.1" y "localhost")
Y, como sugirió David Citron, asegúrese de que el archivo de hosts sea válido y no contenga errores ni errores.
2) Si eso no funciona, es posible que también deba agregar la dirección IPv4 de su PC al archivo hosts y resolverlo en localhost
. (Puede encontrar la dirección IPv4 para su máquina con el comando ipconfig
.) Si, por ejemplo, la dirección IPv4 de su máquina es 192.168.1.100
, debería agregar la línea
192.168.1.100 localhost
a su archivo de hosts. (Puede agregarlo debajo de la línea "127.0.0.1 localhost" en el archivo).
Puede verificar que adb (y su emulador si está ejecutando uno) está escuchando en los puertos mediante el comando netstat -b
. (Tenga en cuenta que necesita privilegios de administrador para la opción -b
. Abrir una ventana de comandos con "Ejecutar como administrador").
Desinstale e instale nuevamente el complemento Android ADT.
En mi caso apago Windows Firewall
1- Abra Windows Firewall haciendo clic en el botón Inicio Imagen del botón Inicio y luego en Panel de control. En el cuadro de búsqueda, escriba firewall y luego haga clic en Windows Firewall.
2- Haga clic en Activar o desactivar Firewall de Windows. Se requiere permiso de administrador Si se le solicita una contraseña o confirmación de administrador, escriba la contraseña o proporcione la confirmación.
3- Haga clic en Desactivar Firewall de Windows (no recomendado) en cada ubicación de red que desea dejar de tratar de proteger y luego haga clic en Aceptar. ¿Fue útil esta página
Algunas veces también necesitas
- Para detener todos los servicios de cliente Vpn (fortiClient, vpn Client ...)
- Para detener Antivirus Firewall (ejemplo Kaspersky => Configuración => Anti-Hacker)
Estoy usando jboss así que la solución a su problema fue reiniciar.
service jboss-portal restart
La solución que funcionó para mí es extraña
- Simplemente elimine todos los puntos de quiebre
- Reinicie Tomcat en modo de depuración (usando catalina.sh jpda start)
- Ahora intenta conectarte y funcionó !!!!
Lo siguiente funcionó para mí: editar la última línea de tomcat startup.sh
de
exec "$PRGDIR"/"$EXECUTABLE" start "$@"`
a
export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
Lo solucioné configurando en Eclipse:
Windows --> Preferences --> Java --> Debug --> Debugger timeout: 10000
Antes de establecer " Debugger timeout: 3000
" y tuve problemas con el tiempo de espera.
Me he encontrado así en Hybris.
- Verifique su puerto en Resource Monitor> Network. Verifica si otro servicio está usando tu puerto.
1.2 Si es así, entonces necesita cambiar sus propiedades en project.properties
1.3 Cambie su dirección, cualquier dirección disponible. En mi caso, cambié de 8000 a 8080. luego guardo.
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n yourServer
En tu consola, reconstruye tu hormiga usando el comando ''ant all''
Luego depure nuevamente, usando el comando ''hybrisserver.bat debug''
NOTA: Para Glassfish, el servidor inicia sesión a través de la consola de administración -> Configuraciones -> server-config -> JVM-settings. * Recuerde marcar Habilitar casilla de verificación para Depurar. Ahora fíjate en la dirección, esta dirección se usará en el puerto de eclipse Remote Java Application Debug. Comprueba la instantánea en el servidor de Glassfish aquí
Nuestra imagen de desarrollo solo tiene instalada la instalación del servicio Tomcat, por lo que establecer las variables de entorno, etc., no tuvo ningún efecto. Si necesita hacer esto a través del servicio Tomcat de Windows, hay algunas cosas que debe tener en cuenta:
- El comentario de David Citron fue lo último que necesité para que mi conexión funcionara. El archivo hosts en nuestras máquinas tiene un comentario de localhost (supuestamente se resuelve a través del DNS, pero eso no funciona para la conexión de depuración). Lo descomentaron y pude conectarme.
- Si el control de acceso del usuario está activado, deberá usar sus credenciales de administrador para acceder al panel de control de servicios o la aplicación de monitor Tomcat o lo que sea que esté usando para alternar el estado del servidor. La aplicación de monitor (documentada here ) es probablemente la mejor, ya que puede editar la configuración del servidor para las opciones de depuración e iniciar y detener el servidor.
- Pensé que tal vez necesitaría ejecutar Eclipse como administrador para poder finalizar el proceso de Tomcat, pero no es así. Una vez que tenga ese archivo adjunto remoto, podrá trabajar con el servicio hasta la finalización.
Otra posibilidad es que el agente de depuración se enlace a la interfaz de red incorrecta.
Acabo de ver esto cuando trato de depurar una JVM de Windows 10 dentro de una VM de VirtualBox, y estoy intentando conectarme desde Eclipse ejecutándose en el host de VirtualBox. En mi caso, el agente solo está vinculado a la interfaz 127.0.0.1
.
Para solucionarlo, puede calificar la address
incluida la address
IP de la interfaz a la que desea vincularse. Por ejemplo:
java -agentlib:jdwp=transport=dt_socket,server=y,address=192.168.0.5:8000,suspend=n <other arguments>
Posible causa de este error:
- Su aplicación remota de Java no se está ejecutando.
- Verifique su host y puerto, muchas veces estas entradas no son correctas.
- Cortafuegos que no permite el acceso a su puerto remoto.
También puede consultar cómo orientar sobre la depuración remota de eclipse para obtener más detalles.
Probé varias cosas mencionadas aquí, pero el siguiente método funcionó para mí:
Vaya a Debug Console of Eclipse, donde encontrará el nombre del proceso que ya existe allí. Haga clic derecho en ese proceso y seleccione "Terminar y eliminar", esto terminará el proceso. Ahora intenta iniciar el proceso nuevamente y funcionará.
Recibo este error para Weblogic después de instalar Quicktime y eliminar QTJava.zip de classpath resuelve el problema.
https://blogs.oracle.com/adfjdev/entry/java_jre7_lib_ext_qtjava
Si está usando Jboss:
cambie en el archivo jboss7.1.1 / bin / standalone.conf.bat la línea:
rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
a:
set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
Si necesita depurar una aplicación que trabaja en Tomcat, asegúrese de que su carpeta Tomcat / bin / startup.bat (si usa Windows) contiene las siguientes líneas:
set JPDA_TRANSPORT="dt_socket"
set JPDA_ADDRESS=8000
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
Si usa Windows OS, reemplace la línea en la configuración Tomcat6/bin/startup.bat
.
Reemplazar
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
con
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
Tuve el problema con Tomcat corriendo en Ubuntu. El problema fue que se habilitó selinux y, por alguna razón, no permitió que Eclipse se conectara al puerto de depuración. Desactivar selinux o ponerlo en modo permisivo resolvió el problema para mí.
Tuve y resolví este problema desconectándome de todas las aplicaciones Java remotas en la ventana / perspectiva de depuración y reiniciando Eclipse. Podría conectarme nuevamente después de hacerlo.
Utilice 0.0.0.0
para las direcciones para poder conectarse desde cualquier máquina remota, es decir:
-Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=y
agregar a su secuencia de comandos de ejecución:
export JPDA_ADDRESS=8787
export JPDA_TRANSPORT=dt_socket
export JPDA_HOST=localhost
JAVA_OPTS=$JAVA_OPTS -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000
JAVA_OPTS=$JAVA_OPTS -Dsun.rmi.dgc.server.gcInterval=3600000
JAVA_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n $JAVA_OPTS