2013-11-28 48 views
2

對於學校項目,我使用Jane Street的Core和Async庫。我試圖用bind Unix系統調用來調試一個問題,所以我運行了ocamldebug myprogram。這將停止時引發異常(Unix.Unix_error),但在反推我得到以下信息:在opam軟件包中啓用調試

No source file for Async_parallel.Master_process. 

這其中引發錯誤的文件。是否可以指定opam來構建我使用調試信息安裝的軟件包,以便我可以使用ocamldebug來檢查它們?否則,我還能做些什麼來解決這個問題?

在此先感謝!

回答

3

由於4.01 ocaml編譯器將使用OCAMLPARAM環境變量來啓用某些選項。嘗試使用OCAMLPARAM="_,g" opam install ...運行。另請參見https://github.com/ocaml/opam/issues/681

另一方面,使用strace -e bind -f -ttT ./myprogram調試此類問題要容易得多且有效。還有Unix_error存在錯誤的原因,請不要忽視它。

+0

我找不到有關'OCAMLPARAM'變量的任何文檔。你有任何鏈接? – Antoine

+0

我想它仍然是實驗性的,使用風險自負 - https://github.com/ocaml/ocaml/blob/4.02.2/driver/compenv.ml#L144 – ygrek

相關問題