gpt4 book ai didi

debugging - Haskell GHCI,似乎无法进入主模块的交互式执行

转载 作者:行者123 更新时间:2023-12-02 22:43:00 25 4
gpt4 key购买 nike

我需要调试一些 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>

这样我就可以真正设置断点和所有有趣的东西。我该如何让它发挥作用?

最佳答案

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

Prelude Main> :l *Main
*Main>

(或运行 ghci '*Main.hs' - 根据您的 shell 的转义需求进行适当调整。)

关于debugging - Haskell GHCI,似乎无法进入主模块的交互式执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com