module Kernel

def binding_n(n = 0)


Returns a binding of n-th call frame
#
def binding_n(n = 0)
  Byebug.skip do
    Byebug.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 after _steps_ line events occur.
#
def byebug(steps = 1)
  Byebug.start
  Byebug.run_init_script(StringIO.new)
  if 0 == steps
    Byebug.context.step_out
  else
    Byebug.context.step_into steps
  end
end