我知道 OCaml 调试工具(首先用 编译ocamlc -g <file>
,然后运行ocamldebug <output>
)以及顶层的函数调用跟踪功能(两者都在这里介绍)。但是,我似乎找不到任何关于使用dune进行调试构建的信息。这可能吗?有人可以指出我正确的方向吗?谢谢!
问问题
751 次
1 回答
7
默认情况下,该-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 非常支持的任何一个,也可以使用字节码可执行文件。
于 2020-12-03T22:19:58.430 回答