Alguien tiene alguna experiencia en el uso de esto? si es así, ¿vale la pena?Java jdb herramienta de línea de comandos de depuración remota
Respuesta
acabo de utilizar jdb por primera vez ayer y estoy muy satisfecho con los resultados. Verá, programo en Eclipse en mi computadora portátil y luego lo despliego en una VM para asegurarme de que todo el shebang aún funciona. Muy ocasionalmente, tendré que trabajar en algo que se ejecute de manera independiente, como una línea de comando. Estas cosas a veces necesitan depuración.
Esto siempre ha sido un problema, porque no quiero tomar la molestia de instalar Eclipse en la máquina virtual (¡ya es lo suficientemente lento!), Pero no conozco una manera fácil de conseguirlo. conectarse a mi clase de ejecución de línea de comando antes de que termine de ejecutarse.
jdb al rescate! Funciona de maravilla: pequeño y funcional, casi hasta el punto en que está desnudo ... esto te obliga a aplicar tu mente más de lo que aplicas la herramienta (como dije here).
Asegúrese de imprimir la referencia (solaris, windows, java 1.5 - Creo que son todos del mismo, en realidad) y tienen su código de fuente abierta y navegable en su segunda pantalla. Espero que tengas una segunda pantalla, o estarás alt-tabbing mucho.
Yo prefiero usar las herramientas de depuración remota en eclipse.
JDB es muy difícil de usar. Colocar System.outs o usar un depurador IDE producirá mejores resultados. Y para las características más interesantes (por ejemplo, seguimiento de hilos, tamaño de pila, etc.), puede obtener la información gráficamente con la herramienta JConsole.
JDB es tan fácil de usar como cualquier depurador, esta retroalimentación es improductivo . también JConsole no permite que usted pueda ver las variables, establecer puntos de interrupción, rotura de excepciones, etc. –
asuma que su programa se inicia mediante el siguiente comando:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=<port> <class>
puede adjuntar a este proceso mediante la jdb:
jdb -attach <port>
- 1. Depuración de Java remota entre continentes
- 2. Depuración remota de Java, ¿cómo funciona técnicamente?
- 3. Comunicándose con una herramienta de línea de comandos en Java
- 4. Herramienta de registro/depuración HTTP en línea?
- 5. Depuración remota de una aplicación Java
- 6. Cómo implementar una herramienta de línea de comandos de Mac
- 7. Depuración de JDB del código de Groovy/Grails
- 8. Computadora cliente de depuración remota
- 9. depuración C# en la línea de comandos
- 10. Depuración de código Java línea por línea
- 11. Ejecutando Jmeter de forma remota desde la línea de comandos
- 12. RTMP: ¿Existe una herramienta de línea de comandos de Linux?
- 13. Herramienta de diálogo de línea de comandos para Windows
- 14. Uso de marcos en una herramienta de línea de comandos
- 15. ¿Hay alguna herramienta de línea de comandos de procesamiento XSLT?
- 16. Herramienta de línea de comandos de carga masiva MySql
- 17. Herramienta de depuración StatET
- 18. Protocolo de depuración remota WinDbg
- 19. herramienta de línea de comandos para imprimir la imagen?
- 20. Mantener activa la herramienta de línea de comandos
- 21. ¿Herramienta para "marcadores" de línea de comandos en Windows?
- 22. Herramienta de línea de comandos para convertir PLIST a JSON?
- 23. Escapar guiones con la herramienta de línea de comandos mysql
- 24. Herramienta de línea de comandos para encontrar dependencias Dll
- 25. PHPUnit Herramienta de línea de comandos No funciona
- 26. Depuración conexión remota VisualVM
- 27. Depuración aplicación de iPhone desde la línea de comandos
- 28. Depuración con parámetros de línea de comandos en Visual Studio
- 29. Ejecutar el modo de depuración desde la línea de comandos
- 30. cifrar AES con la herramienta de línea de comandos de openssl y descifrar en Java
Según lo mencionado por codingME en otra respuesta, puede utilizar JPDA (http://docs.oracle.com/javase/1.5. 0/docs/guide/jpda/conninv.html) la línea de comandos cambia para hacer que su máquina virtual de Java escuche la conexión de un depurador. Intente suspender = y suspender la ejecución hasta que se conecte un depurador, evitando el problema de que el programa finalice antes de que se conecte el depurador. Al especificar un número de puerto adecuado combinado con la configuración del firewall o la configuración del túnel SSH, puede conectarse a su máquina virtual remota a través de la red. por ejemplo: -agentlib: jdwp = transport = dt_socket, server = y, address = 5005, suspend = y – Neek