7

我有一个使用电池的简单 ocamlbuild 项目,包括语法扩展。

_tags

<*>: pkg_batteries,pkg_threads,pkg_batteries.syntax,syntax_camlp4o

something.ml

open Batteries
…
let () = …

它是为调试而构建的:

$ ocamlbuild something.d.byte
$ ocamldebug something.d.byte

但是,尝试使用printin 中的命令ocamldebug会出现以下错误:

(ocd) print x
Cannot find module Batteries.

这似乎只在ed的范围内调试Batteries时发生。open

这个错误的原因是什么?怎么可能解决?

4

1 回答 1

8

您必须使调试器可以使用电池;命令dir-I命令行选项启用此功能。不幸的是,这比应该做的要难,因为ocamlfind不支持ocamldebug. 但是你可以这样做:

$ ocamldebug `ocamlfind query -recursive -i-format batteries` -I _build something.d.byte

这将传递一系列-I选项以ocamldebug提供包含路径以定位相关模块。

于 2011-06-03T01:39:56.500 回答