Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (41 sloc) 1.77 KB


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.

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

Rudimentary support for pry-remote 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'

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.


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