debug
                                
                                 debug copied to clipboard
                                
                                    debug copied to clipboard
                            
                            
                            
                        `!!!` to fast forward breakpoints like in pry
Pry had a feature where you could fast forward all subsequent breaks if you entered !!!. It would essentially automatically continue the subsequent breaks. It would be awesome to to have something like that in debug.
does it mean disable all breakpoints?
Since !!! calls Kernel.exit underneath, I think the equivalent here is simply typing exit.
Pry has another command called disable_pry, which will exit the current session and disable all the later breakpoints. Looks like this is what the author is looking for?
Pry has another command called
disable_pry, which will exit the current session and disable all the later breakpoints. Looks like this is what the author is looking for?
Not OP, but it would be great if debug had something similar to disable-pry. We just switched from using pry to debug in our Rails monolith and that seems to be one of the features that's "missing". I'm planning on implementing a temporary solution in our codebase, but it's not ideal...
Hack
module Kernel
  mattr_accessor :debugger_method, instance_accessor: false
  def disable_debug
    return unless Kernel.respond_to?(:debugger)
    Kernel.debugger_method = method(:debugger)
    Kernel.define_method(:debugger) { nil }
    nil
  end
  def enable_debug
    return unless Kernel.debugger_method
    Kernel.define_method(:debugger, Kernel.debugger_method)
    Kernel.debugger_method = nil
    nil
  end
end
Having played with debug a bit more, I think I now understand what OP meant.
In pry, !!! would exit, but then on a subsequent request, execution would halt at a breakpoint again. With debug however, once you exit (at least when using it with Rails + puma), you need to restart the server to hit another breakpoint.
If for example you're stuck in a loop, with pry you can use !!!, remove your breakpoint and refresh the page. And if you put a breakpoint back in, and continue making requests, it'll halt as usual. But that's not the case with debug...
@joshuay03 That's what I mean, yes. It was quite useful in a Rails setting.