Skip to content
An expression-level debugger for Julia with a provocative command-line (REPL) user interface
Branch: master
Clone or download
Latest commit 2652694 Apr 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Remove Manifest.toml from docs/ Mar 20, 2019
src
test Fix code display when there are internal macros (fixes #63) (#65) Apr 4, 2019
.gitignore Handle terminating semicolons and assignments Mar 20, 2019
.travis.yml Test julia 1.1 Mar 18, 2019
LICENSE.md Initial commit Jul 31, 2018
Project.toml Rebugger 0.3.1 Apr 4, 2019
README.md Update README.md Mar 21, 2019
REQUIRE Update to the new JuliaInterpreter API Mar 14, 2019
appveyor.yml Update appveyor.yml Apr 4, 2019

README.md

Rebugger

Build Status Build status codecov.io

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.

You can’t perform that action at this time.