print-debugger alternatives and similar packages
Based on the "Debug" category.
Alternatively, view print-debugger alternatives based on common mentions on social networks and blogs.
-
hood
Hood debugger, based on the idea of observing functions and structures as they are evaluated. -
linux-perf
Haskell library for reading perf.data files from the linux performance events tool. -
htrace
Hierarchical tracing for debugging lazy evaluation in Haskell -
debug-trace-var
You do not have to write variable names twice in Debug.Trace -
heapsize
ghc-datasize is a tool to determine the size of Haskell data structures in GHC's memory -
show-please
Improved Show instances for exception and other types -
todo
Wrapping development symbols in Warnings to make sure you don't miss them
ONLYOFFICE Docs — document collaboration in your environment
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of print-debugger or a related project?
README
HaskellPrintDebugger
Prints lines with IDE friendly stack traces in Haskell (now with IDE friendly fatal assertions).
Example:
debugTraceIO "foobar"
foobar in thread "1" :
at Main.call(Main.hs:41)
See screenshot: http://i.imgur.com/KCXYHNk.png
-- New fatal assert feature: http://i.imgur.com/Ii62NJP.png
Dependencies:
None (except for "split" package in .cabal).
Must specify "build-depends: base, split, print-debugger" in .cabal file.
Instructions (without Cabal):
- Simply Add the file "StackTraceDebug.hs" to your Haskell project.
- Add "import Dugug.Print.StackTraceDebug" if you want to call the function.
- Call "debugTraceIO" with any String argument.
- When you are done, remove or comment out all calls to debugTraceIO.
- Optionally, set value "debugMode" to "False" in "StackTraceDebug.hs" to mute all calls to "debugTraceIO" and disable all fatal assertions.
Instructions (without Cabal):
- cabal update
- cabal install split
- cabal install print-debugger
^ Don't forget to include both "split" and "print-debugger" in the cabal file
Benefits:
- Does not require to be compiled with "-prof"
- Easier to locate your print statements (and assertions). Location of print statement (and assertions) can be highlighted in an IDE
- Easy to turn print statemments (and assertions) on/off without having to manually uncomment each one.
- CC0 (Free to use, share, or modify, even commercially)
Requirements:
- GHC 7.10.1 (or greater)
- "-XImplicitParams" compiler option
- "split" package or addition of ", split" to "build-depends" line in ".cabal" file
Configuration:
Sample ".cabal" file:
name: HaskellProject1
version: 1.0
Build-Type: Simple
cabal-version: >= 1.2
executable HaskellProject1
main-is: Main.hs
hs-source-dirs: src
build-depends: base, split, print-debugger
Sample compilation:
$> ghc StackTraceDebug.hs -Wall -Werror -XImplicitParams
Know bugs:
http://stackoverflow.com/questions/35354153/haskell-cannot-import-ghc-srcloc
^ Doesn't build correctly on Caball Ubuntu 14.04 with old (ubuntu LTS repo) version of GHC.
(but compiles fine on Windows with "ghc StackTraceDebug.hs -Wall -Werror -XImplicitParams")
To report or pinpoint bugs, email [email protected]
More info:
http://hackage.haskell.org/package/print-debugger
https://www.reddit.com/r/haskell/comments/45jfk8/my_first_package_enhanced_poor_mans_debugging/
https://github.com/JohnReedLOL/HaskellPrintDebugger/edit/master/README.md
foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo
foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo foo