2014-09-01 40 views
5

是否有可用于Haskell或OCaml的跟踪调试器dbg是否有像`dbg`这样的跟踪调试器可用于Haskell或OCaml?

非常非正式地说,它只是更好的printf式调试,在运行时完全可配置。本质上,用户可以在系统运行时注册跟踪处理程序,这将在运行时支持的一组操作中针对每个操作调用(例如,每个函数调用/返回,每个发送/接收的消息等) 。这样的处理程序可以记录每一个操作,这给系统中(部分)发生的所有步骤提供了一个很好的顺序。

该机制可用于记录/调试,分析系统的某些部分,但在许多情况下仅用于发现新的(程序员未知的)系统的工作方式。

+0

'ocamldebug'没有跟踪风格调试,但支持断点和时间旅行。还有来自其他工具/标志的分析支持。 – nlucaroni 2014-09-02 13:37:58

+1

虽然本身不​​是调试器,但OCaml顶层具有'#trace'和'#install_printer',可以走很长的路。 – Nikos 2014-09-03 15:03:58

回答

4

对于Haskell,GHCi提供了一个简单的命令式调试器。看看它的documentation找到更多关于它的细节。它的一些功能是

  • 能够设置一个断点
  • 步进通过执行
  • 检查局部变量
  • 处理例外的任何代码中的断点
  • 打字立即执行它
+0

确实。为了记录,我发现GHCi能够在范围内运行我喜欢的任何代码,而且我喜欢的任何参数比任何传统调试工具更有用。 – AndrewC 2014-09-01 11:06:39

+0

(请原谅或回滚厚脸皮编辑) – AndrewC 2014-09-01 11:10:29

+1

@AndrewC没关系。 :)事实上,我只使用'ghci'作为你列出的功能。 – Sibi 2014-09-01 14:20:12

相关问题