0

我是通过 opam 安装的 OCaml 的新手。我的编译器是沙丘。每次我构建我的项目并运行它时,它都会崩溃,但我没有从代码中崩溃的位置获得任何信息。

我的一个做同样事情的朋友会获得有关它崩溃的线路的信息。

如果有人有想法,那将是不可思议的!

此致,

4

2 回答 2

1

您可以尝试使用 try\catch、异常和打印来查找问题所在。

如果异常是您提出的,您可以尝试用服装异常替换它以获取各种详细信息。

exception Yourexception of string;;

raise (Yourexception "the problem is here") ;;

如果问题是操作系统异常,例如堆栈溢出,您可以尝试将打印件到处放置,然后慢慢确定确切位置

print_string( "1\n");

当所有其他方法都失败时,使用 try 和 catch 慢慢查明位置(您可以谷歌异常以帮助查明原因。例如查找该列表引发异常或其他东西)

try (-your code-)
with exception -> (- print or handle or whatever - );;

这些步骤对大多数语言都有帮助,所以很高兴记住它们

于 2021-01-30T15:32:28.183 回答
1

您可以在 main 中添加以下内容,这会打开异常回溯的记录:

let main =
  record_backtrace true;
...

OCAMLRUNPARAM或者,您可以通过变量设置 b 标志。

于 2021-01-24T16:27:48.403 回答