问题标签 [ocamldebug]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
191 浏览

debugging - ocamldebug 的命令行参数

如何将命令行参数传递给 ocaml 调试器?我正在寻找类似于 gdbs --args, or r ..., or的东西params ... <。例如,编译后

有没有办法逐步执行可执行文件?

0 投票
1 回答
102 浏览

ocaml - 如何在 ocamldebug 中启动带有参数的程序?

我想试试 ocamldebug。如何使用一组参数在其中运行程序?我在参考文档中找不到任何相关内容。[1]

在 GDB 中,我会输入run arg1...argn. 不幸的是,它似乎在 ocamldebug 中不起作用。

输入help run并没有提供太多信息:

  1. https://caml.inria.fr/pub/docs/manual-ocaml/debugger.html
0 投票
1 回答
839 浏览

ocaml - 使用 Jbuilder 创建 Ocaml 代码的调试版本

我一直在阅读 Ocaml 语言和 Jbuilder 的教程。官方教程指出,必须使用带有 ocamlc 的“-g”标志编译 Ocaml 代码,然后才能运行 ocamldebug。

我在 Jbuilder 文档中找不到任何关于调试版本的提及。唯一看起来很接近的部分是https://jbuilder.readthedocs.io/en/latest/jbuild.html#ocaml-flags。但是,即使我添加“-g”作为编译标志..

..我似乎仍然没有得到调试二进制文件:

难道我做错了什么?如果不是,从 jbuilder 生成调试版本的推荐方法是什么?

0 投票
1 回答
73 浏览

ocaml - 致命错误:调试器不支持通道锁

我正在尝试ocamldebug与我的项目一起使用,以了解为什么我正在使用的第 3 方库的行为不符合我的预期。

https://ocaml.org/manual/debugger.html

ocamldebug通过以字节码可执行文件的名称作为第一个参数运行程序来调用 OCaml 调试器

我已添加(modes byte exe)到我的dune文件中。

当我运行时,dune build我可以在 exe 旁边看到字节码文件输出,如下所示_build/default/bin/cli.bc

当我将其传递给ocamldebug我时,出现以下错误:

如果我选择y控制台似乎无限期挂起。

我在这里找到了错误的来源:
https ://github.com/ocaml/ocaml/blob/f68acd1a618ac54790a8347fad466084f15a9a9e/runtime/debugger.c#L144

...但我不知道是什么触发了它。

我的项目正在使用cmdliner并且lwt......我认为在执行的早期阶段它没有遇到任何lwt代码。

ocamldebug兼容cmdliner

如果是这种情况,那么我想我将需要创建一个新的入口点来进行调试。(目前bin/cli是我项目中唯一的可执行工件,我需要调试的代码都在lib/s下)