1
我正在尝试使用ocamldebug。我的程序做了很多事情,然后写入一个文件。它编译和工作正常,但是当我使用ocamldebug和到达的部分,它会写入文件,以下异常引发:OCaml调试器:异常未捕获
Uncaught exception: Unix.Unix_error (5, "waitpid", "")
任何人都可以帮助我吗?
我正在尝试使用ocamldebug。我的程序做了很多事情,然后写入一个文件。它编译和工作正常,但是当我使用ocamldebug和到达的部分,它会写入文件,以下异常引发:OCaml调试器:异常未捕获
Uncaught exception: Unix.Unix_error (5, "waitpid", "")
任何人都可以帮助我吗?
我对这些问题一点都不熟悉,但是当我做一些Google搜索时,我看到了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
。调试器可能会设置一些引发此错误的信号处理。
你是如何编写输出的?
谢谢,我会试试你的解决方案。使用Printf.fprintf函数。 –