沙丘调试-OCaml

我知道 OCaml 调试工具(首先使用 编译ocamlc -g <file>,然后运行ocamldebug <output>)以及顶层中的函数调用跟踪功能(均在此处介绍)。但是,我似乎找不到有关使用dune 进行调试的任何信息。这可能吗?有人可以指出我正确的方向吗?谢谢!

回答

-g标志默认存在于所有构建配置文件中,因此简短的回答是您不需要做任何事情。作为专业提示,如果您想查看默认设置的标志,请使用

dune printenv .

或对于给定的建筑轮廓,例如,对于release

dune printenv --profile release .

在一般情况下,使用flagsocamlc_flagsocamlopt_flags字段添加标志envlibraryexecutable、 和executables节接受并具有相应的范围。如果您希望全局应用您的标志,您需要将相应的标志字段添加到env节,例如,

(env
 (release
  (ocamlopt_flags (:standard -O3))))

这里:standard扩展到标准的标志集。

还值得一提的是,OCaml 本机可执行文件(使用 编译为机器代码的可执行文件ocamlopt)不适用于ocamldebug. 您可以使用gdbOCaml 非常支持的 ,也可以使用字节码可执行文件。


以上是沙丘调试-OCaml的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>