Using MRI 1.9.2+? Switch to pry-debugger.
Same features as pry-nav but with faster tracing, breakpoints, and more.
pry-nav
Simple execution control in Pry
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
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'
Debugging functionality is implemented through
set_trace_func
, which imposes a large performance
penalty. pry-nav traces only when necessary, but due to a workaround for a
bug in 1.9.2, the console will feel sluggish. Use 1.9.3 for best
results and almost no performance penalty.
Contributors
- Gopal Patel (@nixme)
- John Mair (@banister)
- Conrad Irwin (@ConradIrwin)
- Benjamin R. Haskell (@benizi)
Patches and bug reports are welcome. Just send a pull request or file an issue. Project changelog.