2015-08-27 8 views
10

Ich bekomme fast den Griff von GHC-Kostenstellen .... es ist eine tolle Idee, und Sie können tatsächlich Speicherlecks mit ihren Profiling-Tools beheben. Aber mein Problem ist, dass die Informationen, die ich bin in der .HP Profilierung immer sind zu abgestumpften:Wie kann ich den vollständigen Kostenstellen-Stack in GHC sehen?

(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 

Wie weiß ich, zum Beispiel, was die vollen Kostenstellenstapel (2566) oder (2559)? Gibt es ein Tool für diese oder eine Befehlszeilenoption?

Antwort

5

Übergeben Sie +RTS -L100 an Ihr Programm, wenn Sie es mit Profiling ausführen, und ändern Sie 100 auf die Anzahl der Zeichen, die Sie von Ihren Kostenstellen sehen möchten.

Die Dokumentation finden Sie in der GHC user guide, section “RTS options for heap profiling”.

+0

Vielen Dank! Weißt du, ob diese Option irgendwo in der Dokumentation ist? Ich konnte es nicht finden. – dsign

+1

Link gerade hinzugefügt. –