Version 11 (modified by simonpj, 8 years ago) (diff)



This part of the wiki collects all the information related to debugging GHC: that includes debugging the compiler itself, the libraries, the runtime system, the code generator, or the build system.

  • Testing and measuring
    • Use the testsuite to test the compiler on thousands of regression tests
    • Use the nofib suite, and the nofib-analyse tool, to compare performance on 50-odd benchmarks.
    • Use count_lines to count the number of lines of code in the compiler
    • Use compareSizes to compare the sizes of corresponding .o or .hi files in two trees.
  • Debugging the compiler itself. If you're debugging a compiler panic or some problem in GHC itself, then go to Debugging/Compiler
  • Performance debugging.
    • Debugging/ProfilingGhc: Profiling the compiler itself.
    • Debugging/TickyTicky: for debugging performance-related issues in compiled code. Typically for performance debugging of the Simplifier and Core-level optimisations.
    • Debugging/LowLevelProfiling: way to investigate low-level performance, typically for performance debugging of the code generator or RTS.