ocamldebug如何与包含电池的项目一起使用?
问题描述:
我有一个简单的ocamlbuild项目,它使用电池,包括语法扩展。ocamldebug如何与包含电池的项目一起使用?
_tags
:
<*>: pkg_batteries,pkg_threads,pkg_batteries.syntax,syntax_camlp4o
something.ml
:
open Batteries
…
let() = …
它是专为调试提供:
$ ocamlbuild something.d.byte
$ ocamldebug something.d.byte
试图在ocamldebug
使用print
命令,然而,给出以下错误:
(ocd) print x
Cannot find module Batteries.
这似乎只在一个范围进行调试时,其中Batteries
是open
版发生。
这个错误的原因是什么?如何解决问题?
答
你必须使电池包括调试器可用; dir
命令和-I
命令行选项启用此功能。不幸的是,这比应该更难,因为ocamlfind
不支持ocamldebug
。但是,你可以这样做:
$ ocamldebug `ocamlfind query -recursive -i-format batteries` -I _build something.d.byte
这将在-I
选项的顺序传递给ocamldebug
提供包括路径找到相关的模块。
确实,我做的第一件事就是检查'ocamlfind'是否能够调用'ocamldebug'并且简短。我觉得有些事沿着这些线。谢谢。将确认,并接受一次,我有。 – jrk 2011-06-03 18:54:39