815 B
i have a compiler Im writing in elixir. I need to trace execution of logic to pinpoint bugs.
I have many tests I want to debug individually but I can run only the full test suite.
I want to create a couple of macros/functions that'd enable me to debug my code.
the scenario I imagine:
before the test I want to debug I write Tdd.Debug.enable and then :
as the code is being executed, it prints out a tree of called functions, their arguments and return values, effectively building a stacktrace as its being executed.
first lets design how we'd print this information and if/what should we store in memory to be able to render it in a shape sufficient for good debugging.
Then lets design an elixir module that compiler modules would 'use'
e.g. a Tdd.Debug module that'd have and override for elixir def.