2013-05-09 16 views
6

経験豊富なOCaml開発者が自分のコードをデバッグする方法を知ることができますか?OCamlコードを正しくデバッグする方法は?

私がやっていることはちょうどPrintf.printfを使っています。クリーンな出力が必要なときに私がすべてコメントしなければならないので、面倒です。

このデバッグプロセスをより適切に制御するにはどうすればよいですか?特別なアノテーションは、それらを切り替えるloggingのオンまたはオフ?

おかげ

答えて

7

あなたは、この目的のためにboltを使用することができます。これは構文拡張です。

Btw。 Ocamlには実際のdebuggerがあります。

4

OCamlデバッガには、ステートフルプログラミングでは一般的に見られないものがあり、タイムトラベルと呼ばれるものがあります。セクション16.4.4を参照してください。基本的には、ステップごとの情報はすべてスタック上に保持されているため、処理中に保存された各ステップに関連する変更を維持することによって、そのステップの間の値を見るために時間の変化を移動することができます。各ステップのすべての値をデータ・ストアにロギングした後、そのステップで値を見るためにステップ番号に基づいてそのデータ・ストアに索引付けすると、プログラムを実行すると考えてください。

2

ocp-ppx-debugを使用することもできます。printfは、手動で追加するのではなく、適切な場所に追加されます。

https://github.com/OCamlPro-Couderc/ocp-ppx-debug 
関連する問題