stop_frame= (Debugger::Context)

    /*
     *   call-seq:
     *      context.stop_frame(frame)
     *
     *   Stops when a frame with number +frame+ is activated. Implements +finish+ and +next+ commands.
     */
    static VALUE
    context_stop_frame(VALUE self, VALUE frame)
    {
        debug_context_t *debug_context;

        debug_check_started();
        Data_Get_Struct(self, debug_context_t, debug_context);
        if(FIX2INT(frame) < 0 && FIX2INT(frame) >= debug_context->stack_size)
            rb_raise(rb_eRuntimeError, "Stop frame is out of range.");
        debug_context->stop_frame = debug_context->stack_size - FIX2INT(frame);

        return frame;
    }