Home > Back-end >  How to build with profiling in Stack?
How to build with profiling in Stack?

Time:10-20

I am struggling with building an app with profiling, because I need stack traces.

$ stack new prof 
$ cd prof
$ stack build --profile --executable-profiling --library-profiling 
$ stack exec prof-exe  RTS -p
stack: the flag -p requires the program to be built with -prof

$ stack --version
Version 2.7.1, Git revision 8afe0c2932716b0441cf4440d6942c59568b6b19 x86_64 hpack-0.34.4

ghc 8.10.7

CodePudding user response:

Stack itself is written in Haskell and therefore it accepts the RTS -p parameter too. To pass the RTS -p to your prof-exe you should use the -- separator:

stack exec prof-exe --  RTS -p

However, I believe the run command should be used for running executables, and I think you need to add the --profile flag there too. The command that works for me is:

stack run --profile prof-exe --  RTS -p
  • Related