Home

Introduction to Rebugger

Rebugger is an expression-level debugger for Julia. It has no ability to interact with or manipulate call stacks (see ASTInterpreter2), but it can trace execution via the manipulation of Julia expressions.

The name "Rebugger" has 3 meanings:

Rebugger is an unusual debugger with a novel work-flow paradigm. With most debuggers, you enter some special mode that lets the user "dive into the code," but what you are allowed to do while in this special mode may be limited. In contrast, Rebugger brings the code along with its input arguments to the user, presenting them both for inspection, analysis, and editing in the (mostly) normal Julia interactive command line. As a consequence, you can:

Rebugger exploits the Julia REPL's history capabilities to simulate the stacktrace-navigation features of graphical debuggers. Thus Rebugger offers a command-line experience that is more closely aligned with graphical debuggers than the traditional s, n, up, c commands of a console debugger.

Installation and configuration

Begin with

(v1.0) pkg> add Rebugger

You can experiment with Rebugger with just

julia> using Rebugger

If you decide you like it (see Usage), you can optionally configure it so that it is always available (see Configuration).