GHC 7.10.1、Leksah 0.15.0.1 调试问题

GHC 7.10.1, Leksah 0.15.0.1 debugging problems

我有一系列关于在Leksah 中调试的问题,它似乎不起作用,或者可能只有我没有正确使用它。我不知道。

我在截屏视频中提出问题,因为这样比书面+图片更清晰:https://www.youtube.com/watch?v=KeB8j_Viwrg

主要问题:这是 Leksah 的错误行为还是只有我没有正确使用它?如果是后者,我应该如何正确使用调试功能?

非常感谢制作这个视频,它让我们更容易了解正在发生的事情!

我觉得问题是Haskell实在太懒了。当您在调试会话的最开始评估 n 时(在视频开始之前,但您可以在视频开始时的日志窗格中看到它) n 被结果替换(在此案例 17)。当你要求它进入它时,没有什么可以进入它,就好像你刚刚在代码中有 n=17 一样。

尝试重新启动调试会话或按 Ctrl+B 强制执行代码 :reload。执行此操作后 n 应该再次成为未评估的 thunk,您应该能够单步执行它或在它使用的代码中设置断点。