ExDebugger v0.1.3 ExDebugger View Source

Usage: use ExDebugger

This effectively hijacks macros def and defp to auto-annotate the AST they receive compile time with strategically placed debugging expressions where they generate debugging events:

  1. At the beginning of every def/defp
  2. At the end of every def/defp
  3. At every juncture in every polyfurcation expression which are:
    • case
    • cond
    • if
    • TODO:
      • unless
      • Case Arrows of Anonymous Functions

The various debugging events that get generated from such automated annotations should allow a developer to fully introspect from beginning till end a particular traversal of the code path while having all the relevant information available to understand how state changes accordingly. In the cases where more granularity is required, one can always resort to the convenience of use ExDebugger.Manual.

This behaviour of annotating AST compile time in such an invasive and aggressive manner can be toggled in the debug options file: your_project_path/debug_options.exs. This should facilitate regulating the granularity in which debug events are generated during development without the headache of having to eliminate use ExDebugger from every module when merging into master and deploying to production.