Skip to content

An expression-level debugger for Julia with a provocative command-line (REPL) user interface

License

Notifications You must be signed in to change notification settings

timholy/Rebugger.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 Debugger or the debugger built into vscode), 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

Current status

Currently broken and unmaintained due to the author having too many other packages to maintain. However, the functionality and general concept is still quite attractive. For anyone interested in taking over maintenance, see issue #90 for more information.

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.

About

An expression-level debugger for Julia with a provocative command-line (REPL) user interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages