• Stars
    star
    391
  • Rank 110,003 (Top 3 %)
  • Language
    Ruby
  • License
    MIT License
  • Created almost 13 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Binding navigation commands for Pry to make a simple debugger

pry-nav Ruby

A simple execution control add-on for Pry.

Compatible with MRI >= 2.1.0, JRuby >= 9.1.3.0.

Teaches Pry about step, next, and continue to create a simple debugger.

To use, invoke pry normally:

def some_method
  binding.pry          # Execution will stop here.
  puts 'Hello, World!' # Run 'step' or 'next' in the console to move here.
end

When using JRuby, you also need to run it with the --debug flag. You can also add the flag to your JRUBY_OPTS environment variable for it to apply when running any ruby command, but do note that even when not making use of pry this has a big impact on JRuby performance.

pry-nav is not yet thread-safe, so only use in single-threaded environments.

Rudimentary support for pry-remote (>= 0.1.1) is also included. Ensure pry-remote is loaded or required before pry-nav. For example, in a Gemfile:

gem 'pry'
gem 'pry-remote'
gem 'pry-nav'

Stepping through code often? Add the following shortcuts to ~/.pryrc:

Pry.commands.alias_command 'c', 'continue'
Pry.commands.alias_command 's', 'step'
Pry.commands.alias_command 'n', 'next'

Please note that debugging functionality is implemented through set_trace_func, which imposes a large performance penalty.

Alternatives

These work with MRI and pry

Contributors

Patches and bug reports are welcome. Just send a pull request or file an issue. Project changelog.

Acknowledgments