【问题标题】:How can ocamldebug be used with a Batteries Included project?ocamldebug 如何与包含电池的项目一起使用?
【发布时间】:2011-06-02 18:53:12
【问题描述】:

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

_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.

这似乎只在Batteriesopened 的范围内调试时发生。

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

【问题讨论】:

    标签: debugging ocaml ocamlbuild ocaml-batteries


    【解决方案1】:

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

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

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

    【讨论】:

    • 确实,我做的第一件事是检查ocamlfind 是否能够调用ocamldebug 并失败了。我想这其中有一些东西。谢谢。我会确认并接受。
    猜你喜欢
    • 2012-09-15
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多