Как я могу увидеть полный стек центра затрат в 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)? Есть ли инструмент для этого или опция командной строки?

1 ответ

Решение

Проходить +RTS -L100 к вашей программе, когда вы запустите ее с профилированием, и измените 100 на любое количество символов, которое вы хотите видеть в своих учетных центрах.

Документацию можно найти в руководстве пользователя GHC, раздел " Параметры RTS для профилирования кучи".

Другие вопросы по тегам