12

Location 类的 Java Debugger Interface 文档中,有一段讨论了位置的“层”。我一直在寻找更多关于如何实现新层(例如,Scala 或 JRuby)的详细信息,但我没有找到太多。任何人都可以对这个话题有所了解吗?

4

1 回答 1

3

Strata 并不适合 Scala 或 JRuby,因为它们直接编译为字节码,因此 SourceFile 和 LineNumberTable 属性就足够了。Strata 适用于诸如 JSP 之类的东西,这些东西被翻译成 Java 源文件并被编译。层由存储在 SourceDebugExtension 属性中的源映射 (SMAP) 定义。这一切如何运作的细节是JSR-45的一部分。另一个例子是状态机编译器,尽管我不相信它会生成 SMAP。我也不确定 javac 是否有将 SMAP 嵌入到类文件中的选项。然后,您将需要一个单独的工具。

于 2010-09-17T03:39:22.083 回答