Module Kernel
In: lib/ruby-debug-base.rb


Public Instance methods

Returns a binding of n-th call frame


     # File lib/ruby-debug-base.rb, line 255
255:   def binding_n(n = 0)
256:     Debugger.skip do
257:       Debugger.current_context.frame_binding(n+2)
258:     end
259:   end
breakpoint(steps = 1, &block)

Alias for debugger

Enters the debugger in the current thread after steps line events occur. Before entering the debugger, a user-defined startup script is may be read.

Setting steps to 0 will cause a break in the debugger subroutine and not wait for a line event to occur. You will have to go "up 1" in order to be back in your debugged program rather than the debugger. Settings steps to 0 could be useful you want to stop right after the last statement in some scope, because the next step will take you out of some scope.

If block block is given (and the debugger hasn‘t been started, we run the block under the debugger.

FIXME: Alas, when a block is given, we can‘t support running the startup script or support the steps option.


     # File lib/ruby-debug-base.rb, line 237
237:   def debugger(steps = 1, &block)
238:     if block
239:       Debugger.start({}, &block)
240:     else
241:       Debugger.start unless Debugger.started?
242:       Debugger.run_init_script(
243:       if 0 == steps
244:         Debugger.current_context.stop_frame = 0
245:       else
246:         Debugger.current_context.stop_next = steps
247:       end
248:     end
249:   end