4

格式或库是否有一些不错的功能可以从字节码的某些部分转到它最初来自的代码行?这显然对调试和错误消息很有用。

特别是,我正在研究向js_of_ocaml添加对源映射的支持有多难。

4

2 回答 2

7

在启用调试信息(选项-g)的情况下编译时,字节码携带所谓的“事件”结构标记,例如函数入口和返回点,它们提供源位置和类型信息。

作为如何检查此信息的概念证明,我创建了ocamlpp工具的一个小分支(Benoît Vaugon 的一个用于检查字节码文件的小实用程序),它在字节码指令旁边打印此调试信息。

我不知道是否js_of_ocaml在整个编译过程中采取了必要的步骤来保留这个位置信息。您可能应该联系维护者 Jérôme Vouillon 以获取更多信息。

于 2013-06-16T06:42:17.540 回答
3

js_of_ocaml -debuginfo在字节码中使用debug_event以在注释中写入代码行。

于 2013-06-17T03:25:23.317 回答