问题标签 [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.
debugging - ocamldebug 的命令行参数
如何将命令行参数传递给 ocaml 调试器?我正在寻找类似于 gdbs --args
, or r ...
, or的东西params ... <
。例如,编译后
有没有办法逐步执行可执行文件?
ocaml - 如何在 ocamldebug 中启动带有参数的程序?
我想试试 ocamldebug。如何使用一组参数在其中运行程序?我在参考文档中找不到任何相关内容。[1]
在 GDB 中,我会输入run arg1...argn
. 不幸的是,它似乎在 ocamldebug 中不起作用。
输入help run
并没有提供太多信息:
ocaml - 使用 Jbuilder 创建 Ocaml 代码的调试版本
我一直在阅读 Ocaml 语言和 Jbuilder 的教程。官方教程指出,必须使用带有 ocamlc 的“-g”标志编译 Ocaml 代码,然后才能运行 ocamldebug。
我在 Jbuilder 文档中找不到任何关于调试版本的提及。唯一看起来很接近的部分是https://jbuilder.readthedocs.io/en/latest/jbuild.html#ocaml-flags。但是,即使我添加“-g”作为编译标志..
..我似乎仍然没有得到调试二进制文件:
难道我做错了什么?如果不是,从 jbuilder 生成调试版本的推荐方法是什么?
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下)