Haskell GHCI,似乎无法进入主模块

时间:2016-03-24 02:56:04

标签: debugging haskell runtime-error ghci

我需要调试一些haskell代码并找出运行时出现问题的位置。当我运行我的程序时说这个

main: Prelude.(!!): index too large

这让我相信有一个地方我正在发送一个我不应该的功能列表,我不知道在哪里。这是一个600多行语义分析程序。麻烦的是,我不能为我的生活找出这个!!错误是。调试文档真的很混乱,我不能让GHCI合作,所以我可以想出来。每当我运行ghci main.hs时,都会发生这种情况:

GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Ok, modules loaded: Main.
Prelude Main>

我似乎无法转向

*Main>

这样我就可以设置断点和所有有趣的东西。我如何让它工作?

1 个答案:

答案 0 :(得分:5)

前一行表示您正在以编译模式加载文件。你可以通过确保没有文件的编译版本来解决这个问题;或者您可以通过在加载文件时添加*来告诉ghci使用解释模式:

Prelude Main> :l *Main
*Main>

(或运行ghci '*Main.hs' - 适应您的shell的逃避需求。)