module Kernel

def binding_n(n = 0)


Returns a binding of n-th call frame
def binding_n(n = 0)
  Byebug.skip do
    Byebug.current_context.frame_binding(n+1)
  end
end

def byebug(steps = 1)

will take you out of some scope.
stop right after the last statement in some scope, because the next step
program from byebug. Setting _steps_ to 0 could be useful if you want to
occur. You will have to go "up 1" in order to be back to your debugged
0 will cause a break in byebug's subroutine and not wait for a line event to
Before entering byebug startup, the init script is read. Setting _steps_ to

Enters byebug in the current thread after _steps_ line events occur.
#
def byebug(steps = 1)
  Byebug.start
  Byebug.run_init_script(StringIO.new)
  if 0 == steps
    Byebug.current_context.stop_frame = 0
  else
    Byebug.current_context.stop_next = steps
  end
end