Rebugger.jl

An expression-level debugger for Julia with a provocative command-line (REPL) user interface
Popularity
169 Stars
Updated Last
1 Year Ago
Started In
August 2018

Rebugger

Build Status Build status codecov.io PkgEval

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.

Used By Packages

No packages found.