Skip to content
A cassette-based debugger | The Other Debugger
HTML Julia Jupyter Notebook
Branch: master
Clone or download
Latest commit 8fa8886 Jul 29, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Files generated by PkgTemplates Jan 19, 2019
src cleanup improvements to compile-time Jul 28, 2019
.appveyor.yml restrict to julia 1.1 May 5, 2019
.gitignore Add JuliaCon Talk (#72) Jul 25, 2019
Project.toml Update Project.toml Jul 29, 2019 Rename all the things Jul 8, 2019


Build Status Build Status Coveralls


@run foo(): run foo() inside the debugger. When a breakpoint is hit, then you will be given an Iron REPL to work with-in, allowing you to view/manipulate the arguments. @enter foo() performs similarly, after immediately breaking on the first line.

Within this you can read (and write) variables,

  • Step-Next: to move to the next IR statement
  • Step-In: to debug in the next function call (assuming next is a function call)
  • Step-Out: to debug from the next statement the function that called the current function
  • Continue: proceed to next breakpoint
  • Abort: terminate running the debugger.


  • set_breakpoint!([function|method]): Set a breakpoint on call to the argument
  • set_breakpoint!(filename, line number): Set a breakpoint on the given line in the given function
  • set_uninstrumented!([function|module]): Disable debugging in the given function/module
    • Not having debugging enabled for modules/functions you do not need to debug massively speeds up the running of your program.
    • However, debugging is fully disabled for those modules/functions, so if those functions would then call functions you do want to debug (say by using map) then that will also not be caught by the debugger.
  • list_breakpoints(), list_uninstrumenteds(): list all the breakpoints/uninstrumenteds
  • rm_breakpoint!(arg...), rm_uninstrumented!(args...): remove breakpoints/uninstrumenteds. Takes same arguments as set_....
  • clear_breakpoints!(), clear_uninstrumenteds!(): remove all breakpoints/uninstrumenteds.


You can’t perform that action at this time.