Debugging 如何将ocamldebug与包含电池的项目一起使用?
我有一个简单的ocamlbuild项目,它使用电池,包括语法扩展Debugging 如何将ocamldebug与包含电池的项目一起使用?,debugging,ocaml,ocamlbuild,ocaml-batteries,Debugging,Ocaml,Ocamlbuild,Ocaml Batteries,我有一个简单的ocamlbuild项目,它使用电池,包括语法扩展 \u标签: <*>: pkg_batteries,pkg_threads,pkg_batteries.syntax,syntax_camlp4o 它是为调试而构建的: $ ocamlbuild something.d.byte $ ocamldebug something.d.byte 但是,尝试使用ocamldebug中的print命令会出现以下错误: (ocd) print x Cannot find modu
\u标签
:
<*>: pkg_batteries,pkg_threads,pkg_batteries.syntax,syntax_camlp4o
它是为调试而构建的:
$ ocamlbuild something.d.byte
$ ocamldebug something.d.byte
但是,尝试使用ocamldebug
中的print
命令会出现以下错误:
(ocd) print x
Cannot find module Batteries.
只有在电池处于打开状态的范围内进行调试时,才会出现这种情况
这个错误的原因是什么?如何解决此问题?您必须使调试程序能够使用电池组;dir
命令和-I
命令行选项启用此功能。不幸的是,这比应该的困难,因为ocamlfind
不支持ocamldebug
。但你可以这样做:
$ ocamldebug `ocamlfind query -recursive -i-format batteries` -I _build something.d.byte
这将向ocamldebug
传递一系列-I
选项,以提供查找相关模块的包含路径。事实上,我做的第一件事是检查ocamldefind
是否具有调用ocamldebug
的能力,但结果很差。我想这是有道理的。谢谢我会确认,并在收到后接受。
$ ocamldebug `ocamlfind query -recursive -i-format batteries` -I _build something.d.byte