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:
- At the beginning of every
def
/defp
- At the end of every
def
/defp
- 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.