debug_load (Debugger)

    /*
     *   call-seq:
     *      Debugger.debug_load(file, stop = false) -> nil
     *
     *   Same as Kernel#load but resets current context's frames.
     *   +stop+ parameter force the debugger to stop at the first line of code in the +file+
     *   FOR INTERNAL USE ONLY.
     */
    static VALUE
    debug_debug_load(int argc, VALUE *argv, VALUE self)
    {
        VALUE file, stop, context;
        debug_context_t *debug_context;

        if(rb_scan_args(argc, argv, "11", &file, &stop) == 1)
          stop = Qfalse;

        debug_start(self);
        context = debug_current_context(self);
        Data_Get_Struct(context, debug_context_t, debug_context);
        debug_context->stack_size = 0;
        if(RTEST(stop))
          debug_context->stop_next = 1;
        rb_load(file, 0);

        debug_stop(self);
        return Qnil;
    }