为Java调试器接口实现不同的层

时间:2010-08-06 13:04:08

标签: java debugging scala jruby jdi

Location class的Java调试器接口文档中,有一段讨论该位置的“层”。我一直在寻找更多有关如何实现新层(例如,Scala或JRuby)的细节,但我没有找到太多。任何人都可以对这个话题有所了解吗?

1 个答案:

答案 0 :(得分:3)

Strata不适合Scala或JRuby,因为它们直接编译为字节码,因此SourceFile和LineNumberTable属性就足够了。 Strata适用于像JSP这样的东西,它们被翻译成Java源文件并被编译。层由存储在SourceDebugExtension属性中的源映射(SMAP)定义。这一切如何运作的细节是JSR-45的一部分。另一个例子是State Machine Compiler虽然我不认为它会产生SMAP。我也不确定javac是否可以选择在类文件中嵌入SMAP。然后,您需要一个单独的工具。