沙丘调试-OCaml
我知道 OCaml 调试工具(首先使用 编译ocamlc -g <file>
,然后运行ocamldebug <output>
)以及顶层中的函数调用跟踪功能(均在此处介绍)。但是,我似乎找不到有关使用dune 进行调试的任何信息。这可能吗?有人可以指出我正确的方向吗?谢谢!
回答
该-g
标志默认存在于所有构建配置文件中,因此简短的回答是您不需要做任何事情。作为专业提示,如果您想查看默认设置的标志,请使用
dune printenv .
或对于给定的建筑轮廓,例如,对于release
,
dune printenv --profile release .
在一般情况下,使用flags
、ocamlc_flags
和ocamlopt_flags
字段添加标志env
,library
、executable
、 和executables
节接受并具有相应的范围。如果您希望全局应用您的标志,您需要将相应的标志字段添加到env
节,例如,
(env
(release
(ocamlopt_flags (:standard -O3))))
这里:standard
扩展到标准的标志集。
还值得一提的是,OCaml 本机可执行文件(使用 编译为机器代码的可执行文件ocamlopt
)不适用于ocamldebug
. 您可以使用gdb
OCaml 非常支持的 ,也可以使用字节码可执行文件。