module Kernel

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