2010-02-17 16 views
6

Al conectar el depurador en un IDE (IntelliJ o Eclipse) a una JVM que se ejecuta en otro continente (de Londres a Nueva York), el desfase es insoportable. He esperado más de 10 minutos para que IntelliJ llene mis estructuras de pila y llene los objetos antes de rendirse cuando llega a un punto de interrupción. (Nota: ¡nunca he visto un estado de depuración completo al hacer esto!) ¡Esto hace que la depuración remota usando un IDE sea imposible!Depuración de Java remota entre continentes

Conozco la herramienta jdb, que no experimenta problemas de latencia. Me lo imagino porque está más ajustado a las recuperaciones de datos específicos de la máquina virtual en lugar de llenar cada cuadro de pila y todos los valores accesibles.

¿Alguien sabe si hay una tierra intermedia? Encuentro jdb engorroso de usar. Me encantaría ver una UI (construida encima de jdb) que no experimentó los problemas de latencia de un IDE. ¿Alguien sabe si existe tal aplicación?

¿Alguien conoce otras técnicas para depurar máquinas virtuales remotas que se ejecutan a miles de millas de distancia?

+0

¿Su conexión TCP/IP está comprimida? Ayuda bastante –

Respuesta

1

Probablemente tenga más que ver con el ancho de banda de su conexión que con el depurador.

+2

No se puede hacer mucho cuando la luz solo puede viajar desde allí y volver a 500ms – Earlz

3

Compre algo así como un linode u otro SPV que se ejecute en dicho continente (o si tiene amigos con ancho de banda de repuesto que viven en el continente).

Configura X-Forwarding, y ejecuta tu IDE en el VPS que se conecta desde tu casa con ssh.

Afortunadamente, el desfase gráfico X es más soportable (pista: sí) que el desfase de depuración del que hablaste.

+0

La gráfica X también puede ser muy dolorosa (la compresión a veces ayuda, pero sobre todo no). VNC puede ser un poco mejor, pero aún así no es genial. Los protocolos/métodos Sun SSGD o Microsoft RD son una mejora drástica si puede usarlos. –

+0

No he usado X para distancias largas, pero sé que VNC no está mal cuando se conecta al otro lado de los Estados Unidos. Siempre y cuando tenga una resolución razonable y tal. – Earlz

0

Estaba usando el IDE IntelliJ 7.0.5 y la depuración fue horrible. Desde entonces, me actualicé a IntelliJ 9 y el retraso parece tolerable.

Supongo que IntelliJ 7.0.5 estaba haciendo algo 'interesante' cuando hablaba con la máquina virtual remota.

0

Su problema no es insoluble: hago lo contrario (de Nueva York a Londres) usando Eclipse. No es animado, pero no es insoportable, y nada de lo que describes.

Haría tres preguntas:
1) ¿Está absolutamente vinculado a IntelliJ?
2) ¿Tiene copias de los frascos dependientes localmente?
3) ¿Cómo es tu ancho de banda en general? ¿Cómo funciona un escritorio remoto? ¿Qué hay de la edición de un archivo a través de un recurso compartido de red?

+0

1) Sí, 2) Sí, 3) Bien. FTP y escritorio remoto son geniales. Solo puedo imaginarme que el depurador IDE es una tontería y le hace al VM todo tipo de preguntas alocadas sin inteligencia, es decir, una que no toma en cuenta que cada llamada puede tomar> 500ms. –

0

Desde pruebas muy ligeras de un proyecto bastante grande (casi 100 subproyectos, tiempos de ping ~ 200-300ms), Netbeans parece estar bien en comparación con Eclipse.

Puede pasar y lleva unos segundos actualizar y se conecta en < 1 min.

Por supuesto es molesto no poder usar Eclipse, pero es una GUI y, como tal, mucho mejor que el JDB normal.

Cuestiones relacionadas