OCaml调试器:未被捕获的异常

时间:2013-05-19 20:37:46

标签: unix ocaml

我正在尝试使用ocamldebug。我的程序做了很多事情然后写入文件。它编译并且工作正常,但是当我使用ocamldebug并到达它将写入文件的部分时,会引发以下异常:

Uncaught exception: Unix.Unix_error (5, "waitpid", "")

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

我对这些问题一点也不熟悉,但是当我进行一些谷歌搜索时,我看到有关Unix模块中可能存在未引起的SIGCHLD异常的错误的讨论。我可以使用OCaml 4.00.0在我的OS X 10.8.2系统上重新创建它:

$ ocaml
        OCaml version 4.00.0

# #load "unix.cma";;
# Sys.set_signal Sys.sigchld (Sys.Signal_handle ignore);;
- : unit = ()
# Unix.system "true";;
Exception: Unix.Unix_error (Unix.EINTR, "waitpid", "").

如果您未设置SIGCHLD信号被忽略,您将获得true的正常终止。调试器可能正在设置一些引发此错误的信号处理。

你是如何编写输出的?