Debugging 如何在Haskell中打印带有行和堆栈跟踪的语句?

Debugging 如何在Haskell中打印带有行和堆栈跟踪的语句?,debugging,haskell,printing,stdout,Debugging,Haskell,Printing,Stdout,如何在Haskell中生成带有行号和堆栈跟踪的打印语句?您可能希望在最新版本的GHC中使用它。或者使用此 - 或者用这个 - 前者可以打印一行格式。后者可以打印多行未格式化的内容 Debug.Trace.traceStack需要使用-frof和-fprof auto编译,并使用+RTS-xc运行 Debug.Trace.traceStack示例(来自“”): Haskell打印调试器示例: -- 如果您只需要查找打印语句,那么第一个选项是更好的选择 p、 我正在为我自己的包裹做广告,地点如下:

如何在Haskell中生成带有行号和堆栈跟踪的打印语句?

您可能希望在最新版本的GHC中使用它。

或者使用此

  • -
  • 或者用这个

  • -
  • 前者可以打印一行格式。后者可以打印多行未格式化的内容

    Debug.Trace.traceStack需要使用-frof和-fprof auto编译,并使用+RTS-xc运行

    Debug.Trace.traceStack示例(来自“”):

    Haskell打印调试器示例:

    --

    如果您只需要查找打印语句,那么第一个选项是更好的选择


    p、 我正在为我自己的包裹做广告,地点如下:


    对不起,我将在我的库中完全使用GHC.Stack
    http://dev.stephendiehl.com/hask/):
        $ ghc -O0 -rtsopts=all -prof -auto-all --make stacktrace.hs
        ./stacktrace +RTS -xc
    
    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)