我可以知道经验丰富的OCaml开发人员如何调试他的代码吗?
我正在做的只是使用Printf.printf
。这太麻烦了,因为当我需要一个干净的输出时我必须全部评论它们。
我应该如何更好地控制此调试过程?特殊注释可以打开或关闭logging
这些?
感谢
答案 0 :(得分:8)
答案 1 :(得分:4)
OCaml调试器的一个功能是您可能不知道哪个在有状态编程中不常见,并且称为时间旅行。见16.4.4部分。基本上,由于步骤之间的所有信息都保留在堆栈中,通过保持与处理期间保存的每个步骤相关联的更改,可以在时间上移动以查看该步骤期间的值。一旦将每个步骤中的所有值记录到数据存储中,然后根据步骤编号索引到该数据存储中以查看该步骤中的值,则将其视为运行程序。
答案 2 :(得分:2)
您还可以使用ocp-ppx-debug
来添加printf
一个好的位置,而不是手动添加它们。
https://github.com/OCamlPro-Couderc/ocp-ppx-debug