Debugging OCaml中的跟踪与调试

Debugging OCaml中的跟踪与调试,debugging,ocaml,trace,Debugging,Ocaml,Trace,在OCaml中跟踪和调试使用什么 为了调试,我尝试了ocamldebug和Emacs插件 对于跟踪,我希望能够打印每个变量的数据构造函数。 使用Camlp4的示例如下所示: 当您可以使用字节码时,ocamldebug工作正常 如果您想调试本机代码应用程序,有一个on-Mantis,它允许使用gdb逐行调试OCaml程序。此修补程序的部分内容应集成到下一版本的OCaml(3.13或4.00)中 然而,目前还没有打印OCaml值的方法,但另一个补丁即将出现,它使用GADT为任何类型定义通用打印机功能

在OCaml中跟踪和调试使用什么

为了调试,我尝试了ocamldebug和Emacs插件

对于跟踪,我希望能够打印每个变量的数据构造函数。 使用Camlp4的示例如下所示:


当您可以使用字节码时,
ocamldebug
工作正常

如果您想调试本机代码应用程序,有一个on-Mantis,它允许使用gdb逐行调试OCaml程序。此修补程序的部分内容应集成到下一版本的OCaml(3.13或4.00)中


然而,目前还没有打印OCaml值的方法,但另一个补丁即将出现,它使用GADT为任何类型定义通用打印机功能。

没有内置的方法打印用户定义类型的值,但有一些外部项目可以通过各种方式解决此问题。请参阅上一个SO问题页面:对于跟踪,顶层是最简单的方法,如果您可以在其中进行实验(对于数据结构调试来说效果很好,对于I/O来说效果不太好)。您好,截至2015年,gdb/lldb支持的状态如何?字节码文件是什么?我什么都试过了,
ocamldebug
说“不是字节码文件”。
   type colour = Red | Green | Blue
   let print_colour =
     function
       Red -> print_string "Red"
     | Green -> print_string "Green"
     | Blue -> print_string "Blue"