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

printただし、でコマンドを使用しようとするとocamldebug、次のエラーが発生します。

(ocd) print x
Cannot find module Batteries.

Batteriesこれは、 openedのスコープでデバッグする場合にのみ発生するようです。

このエラーの原因は何ですか?どうすれば回避できますか?

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 に答える