En la documentación de la interfaz del depurador de Java para el Location class, hay un párrafo sobre el "estrato" de la ubicación. He estado buscando un poco más detalles sobre cómo se implementaría un nuevo estrato (por ejemplo, Scala o JRuby), pero no he encontrado mucho. ¿Alguien puede arrojar algo de luz sobre el tema?Implementar un estrato diferente para la interfaz del depurador de Java
Respuesta
Strata no sería realmente apropiado para Scala o JRuby ya que se compilan directamente en bytecodes, por lo que los atributos SourceFile y LineNumberTable son suficientes. Los Strata están diseñados para cosas como JSP, que se traducen a un archivo fuente de Java y se compilan. Los estratos se definen mediante un mapa fuente (SMAP) almacenado en un atributo SourceDebugExtension. Los detalles de cómo funciona todo esto es parte de JSR-45. Otro ejemplo sería el State Machine Compiler aunque no creo que genere un SMAP. Tampoco estoy seguro si javac tiene una opción para incrustar el SMAP en el archivo de clase. Entonces necesitarías una herramienta separada para eso.
De hecho, los números de línea no son lo suficientemente precisos para la dirección de código de bytes -> mapeo de posición de fuente para el código de Scala. Una determinada línea de código de Scala puede generar fácilmente muchos puntos de ruptura significativos, pero los depuradores actuales no pueden resolver su posición de origen dentro de dicha línea. –
- 1. Clase proxy del servicio web para implementar la interfaz
- 2. Reducir la visibilidad al implementar la interfaz en Java
- 3. Implementar la interfaz Java con tipo Raw desde Scala
- 4. ¿Cómo implementar la interfaz Java anónimamente en scala?
- 5. Creación automática de un contenedor para implementar una interfaz
- 6. Pasar una interfaz a un proceso diferente
- 7. edificio depurador de java script para Rhino
- 8. Metodología de interfaces Java: ¿Debería cada clase implementar una interfaz?
- 9. GUI para un depurador GNU
- 10. ¿Cómo implementar la interfaz de IComparable?
- 11. Clase abstracta de Java Implementar una interfaz con genéricos
- 12. lista de objetos Java que toda implementar una interfaz
- 13. ¿Hay algún "depurador visual" para Java?
- 14. interfaz Java y la herencia
- 15. ¿Cómo implementar la interfaz Contable en PHP?
- 16. ¿Debo implementar la interfaz Sec en clojure
- 17. Ventajas de implementar una interfaz
- 18. ¿Cómo puedo implementar la interfaz Iterable?
- 19. ¿Se puede forzar a un objeto java a implementar una interfaz en tiempo de ejecución?
- 20. Cómo implementar la interfaz en javascript
- 21. ¿Cuándo deberíamos implementar la interfaz Serializable?
- 22. ¿Puedo llamar a un método que está dentro de una interfaz sin implementar la interfaz?
- 23. Implementar enum en C# interfaz y en una de firma del método de interfaz
- 24. Cómo implementar la interfaz de usuario dinámica de WPF
- 25. ¿Puedo usar métodos de extensión para implementar una interfaz?
- 26. La aplicación llamó a una interfaz que se organizó para un hilo diferente
- 27. Consumir un servicio web utilizando una interfaz diferente
- 28. Interfaz de texto de Java pura para un juego roguelike
- 29. Seguridad de primavera de Java: ¿interceptar la URL del subdominio para iniciar sesión de forma diferente?
- 30. Marco de Javascript para la interfaz de usuario del juego
¿Has mirado las especificaciones de JSR-45 (Soporte de depuración para otros idiomas)? http://jcp.org/en/jsr/detail?id=45 – kschneid
No tuve, no. Gracias por el puntero, eso ayuda bastante. – jfager
Recuerdo vagamente que el archivo de clase tiene un atributo que apunta al archivo de origen. ¿Ha intentado simplemente establecerlo en un archivo en otro idioma? – Ramon