Replbug - an addition to Rexbug to facilitate REPL-style debugging

Replbug - programmatically inspect your traces.

Rexbug is a great way to debug live systems using BEAM tracing capabilities by displaying the traces in human-readable form. However, when the tracing output is large, it becomes hard to follow what’s going on.

Replbug tries to make it easier to deal with this issue by materializing the traces as variables within IEx session, so we could inspect them not only visually, but also programmatically. All the function call data that is present in traces will be available in IEx, so, for instance, one can replay the specific function call after the code for it is fixed, or produce some stats for the group of calls.

The functionality of Rexbug is (hopefully) fully preserved. As of now, Replbug doesn’t do anything for inter-process messaging, but I’m planning to add something in the nearest future.

Your feedback is very welcome!

3 Likes