当前位置:  开发笔记 > 开发工具 > 正文

调试haskell代码的好方法是什么?

如何解决《调试haskell代码的好方法是什么?》经验,为你挑选了3个好方法。

我已经使用了ghci调试器,但是如果它与文本编辑器有点集成以简化设置断点的过程,我会更喜欢.它可能不应该严格评估每个可见变量,但至少可以简化查看本地状态的过程.

我最近发现了跟踪功能,它允许从其他困难的地方调试打印输出.



1> Norman Ramse..:

调试Haskell代码的一个好方法是编写和测试使用代数法快速检查和SmallCheck.已经有几个Haskell调试器,包括Hat,Hood和Freya,但是没有一个被认为足够值得值得维护很长一段时间.

当它是Haskell时,你必须以不同的方式思考如何做事.QuickCheck页面上的ICFP论文有一些很好的例子可以帮助您入门.如果您想xmonad使用QuickCheck 对现实示例进行广泛调试.


我是否可以恭敬地注意到调试和测试之间存在差异?调试是找到错误的原因,而测试是在寻找错误的存在.

2> nominolo..:

是的,GHCi调试器的前端将是一件好事.也许我们会在下一个Hackathon中完成一些事情.但是,同时:

Monad Reader,第10期(PDF)有一篇关于使用调试器的文章.也许这可以给你一些提示.

或者,Haskell非常适合使用QuickCheck进行自下而上的测试.即,单独测试您的组件,然后将它们放在一起.如果您的代码是纯粹的,这通常是Just Works.


但通常情况下,"将它们放在一起"是问题所在.

3> ADEpt..:

作为旁注,请注意Debug.trace在调试多线程程序时不会成为您的朋友.

从长远来看,测试是最佳选择.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有