gpt4 book ai didi

haskell - 监测 GHC 事件

转载 作者:行者123 更新时间:2023-12-04 02:23:10 26 4
gpt4 key购买 nike

如果 GHC 需要很长时间来编译某些东西,有没有办法找出它在做什么?

首先,很高兴知道我是否真的使编译器崩溃(即,以某种方式将其放入某种无限循环),或者它是否真的在取得进展,但只是非常缓慢。

其次,最好知道 GHC 在编译过程的哪个部分遇到了问题。是解析、脱糖、类型检查、核心优化、代码生成,还是……?

有什么方法可以监控正在发生的事情吗? (请记住,如果 GHC 需要很长时间,那可能意味着它做了很多工作,所以如果你要求太多的输出,那将会是巨大的!)

GHC 已经告诉您它正在尝试(重新)编译哪些模块。就我而言,问题是一个独立的模块。我想知道 GHC 在哪里卡住了。

最佳答案

根据 Daniel Fischer 的评论,我尝试使用不同的详细选项运行 GHC。

  • -v1 : 产生了更多的输出,但在主要编译步骤中什么也没有。
  • -v2 : 告诉你 GHC 当前正在做什么(解析器、脱糖、类型检查、简化器等)。这几乎是我真正想要的。
  • -v3 :似乎使简化器实际上将它正在做的事情转储到控制台 - 在编译 8MB 源代码时这是个坏主意!

  • 所以看来 -v2是开始的地方。

    (在提示这个问题的程序的特定情况下,GHC 似乎永远花费在类型检查阶段。)

    关于haskell - 监测 GHC 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348118/

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