Skip to content

!!! to fast forward breakpoints like in pry #1084

Open

Description

@adillari

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.

Activity

  1. changed the title [-]!!! to fast forward breakpoints like in pry[/-] [+]`!!!` to fast forward breakpoints like in pry[/+] on Mar 5, 2024
  2. ko1 commented on Mar 29, 2024

    @ko1
    Collaborator

    does it mean disable all breakpoints?

  3. st0012 commented on Apr 4, 2024

    @st0012
    Member

    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?

  4. joshuay03 commented on Apr 23, 2024

    @joshuay03

    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
  5. joshuay03 commented on Apr 28, 2024

    @joshuay03

    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...

  6. adillari commented on Apr 28, 2024

    @adillari
    Author

    @joshuay03 That's what I mean, yes. It was quite useful in a Rails setting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions