我如何在 GHC 中查看完整的成本中心堆栈?

How can I see the full cost-centre stack in GHC?

我几乎掌握了 GHC 成本中心....这是一个很棒的主意,您实际上可以使用他们的分析工具修复内存泄漏。但我的问题是我在 .hp 分析中获得的信息被截断了:

(1319)GHC.Conc.Signal.CAF   640
(1300)GHC.Event.Thread.CAF  560
(2679)hGetReplies/connect/c...  112
(2597)insideConfig/CAF:lvl2...  32
(1311)GHC.IO.Handle.FD.CAF  656
(2566)setLoggerLevels/confi...  208
(2571)configureLoggingToCon...  120
(2727)reply/Database.Redis....  32

例如,我如何知道 (2566) 或 (2559) 中的完整成本中心堆栈是什么?是否有相应的工具或命令行选项?

当您使用分析 运行 时,将 +RTS -L100 传递给您的程序,并将 100 更改为您希望看到的成本中心字符数。

可以在 GHC user guide, section “RTS options for heap profiling” 中找到文档。