Rebugger.jl
Rebugger.jl copied to clipboard
An expression-level debugger for Julia with a provocative command-line (REPL) user interface
Rebugger
Rebugger is an expression-level debugger for Julia. It has no ability to interact with or manipulate call stacks (see Gallium), but it can trace execution via the manipulation of Julia expressions.
The name "Rebugger" has 3 meanings:
- it is a REPL-based debugger (more on that in the documentation)
- it is the Revise-based debugger
- it supports repeated-execution debugging
JuliaCon 2018 Talk
While it's somewhat dated, you can learn about the "edit" interface in the following video:
However, the "interpret" interface is recommended for most users.
Installation and usage
See the documentation:
Note that Rebugger may benefit from custom configuration, as described in the documentation.
In terms of usage, very briefly
- for "interpret" mode, type your command and hit Meta-i (which stands for "interpret")
- for "edit" mode, "step in" is achieved by positioning your cursor in your input line to the beginning of the call expression you wish to descend into. Then hit Meta-e ("enter").
- also for "edit" mode, for an expression that generates an error, hit Meta-s ("stacktrace") to capture the stacktrace and populate your REPL history with a sequence of expressions that contain the method bodies of the calls in the stacktrace.
Meta means Esc or, if your system is configured appropriately, Alt (Linux/Windows) or Option (Macs). More information and complete examples are provided in the documentation. If your operating system assigns these keybindings to something else, you can configure them to keys of your own choosing.
Status
Rebugger is in early stages of development, and users should currently expect bugs (please do report them). Neverthess it may be of net benefit for some users.