如何在Haskell中使用行号和堆栈跟踪创建打印语句?
答案 0 :(得分:3)
您可能希望在最新版本的GHC中使用GHC.Stack。
答案 1 :(得分:0)
要么使用这个......
或者使用这个...
前者可以打印单行格式化。后者可以打印多行未格式化。
Debug.Trace.traceStack需要使用-frof和-fprof-auto进行编译并使用+ RTS -xc运行
Debug.Trace.traceStack示例(来自“What I Wish I Knew When Learning Haskell”):
http://dev.stephendiehl.com/hask/):
$ ghc -O0 -rtsopts=all -prof -auto-all --make stacktrace.hs
./stacktrace +RTS -xc
Haskell打印调试器示例:
- http://i.imgur.com/av57mTS.png
import Debug.Print.StackTraceDebug
main = debugTraceIO "This has a stack trace."
____________________________________________
This has a stack trace. in thread "1" :
at Main.call(Main.hs:5)
如果您只需要找到您的打印报表,第一个选项是更好的选择。
P.S。我在这里宣传自己的包裹: