Is there a trace debugger like dbg for Haskell or OCaml?
Very informal, printf-style debugging is only better, fully configurable at runtime. In fact, the user can register a trace handler at system startup, which will be called for each action from the set of actions supported by the runtime (for example, each time the function is called / returned) for each message sent / received, etc.). the handler can register each operation, which gives a pleasant sequence of all the steps that occur in (part) of the system.
This mechanism can be used for logging / debugging, profiling certain parts of the system, but in many cases, just to detect how the new (unknown to the programmer) system works.
source share