Estoy tratando de conectar mi mejor depurador a una instancia remota de Glassfish (por control remoto me refiero a no ejecutar en la misma máquina física, y no solo en la misma máquina virtual).No se puede conectar a Glassfish usando cualquier depurador
Mi configuración del dominio GlassFish tiene la bandera "depuración" está marcada, y los informes server.log durante el inicio
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009
Lo que indica (en mi opinión), la depuración es, en efecto permitido.
Sin embargo, cuando intento conectar un depurador, falla. La siguiente sesión es un ejemplo (hecho con PuTTy):
$ jdb -connect com.sun.jdi.SocketAttach:port=9009
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:529)
at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:204)
at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:98)
at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:72)
at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:358)
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:168)
at com.sun.tools.example.debug.tty.Env.init(Env.java:64)
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1010)
Fatal error:
Unable to attach to target VM.
¿Qué podría causar ese comportamiento?
EDITAR
Aviso este jdb de línea de comandos se ha dado como un example of Glassfish debug testing on the web, aquí es por lo que utilicé
Observe también que estoy haciendo esta sesión jdb depuración local (que es decir cuando conectado a esa máquina usando PuTTy, por lo que invoca jdb en la máquina Glassifh se está ejecutando).
Puede ejecutar 'ps -ef | grep java' como una prueba de cordura rápida que glassfish está comenzando con tus parámetros jvm. ¿También un netstat para el estado de ese puerto? – nsfyn55
Cuando dijiste 'ejecutando me refiero a no ejecutar', ¿te refieres a esto 'por REMOTO quiero decir no ejecutar'? – vkraemer
@vkraemer De hecho. Cambié la pregunta en consecuencia. – Riduidel