# class Byebug::FrameCommand

Move to specific frames in the backtrace.

### Public Class Methods

description() click to toggle source

    # File lib/byebug/commands/frame.rb, line 22
        def self.description
          <<-DESCRIPTION
            f[rame][ frame-number]

            #{short_description}

            If a frame number has been specified, to moves to that frame. Otherwise
            it moves to the newest frame.

            A negative number indicates position from the other end, so "frame -1"
            moves to the oldest frame, and "frame 0" moves to the newest frame.

            Without an argument, the command prints the current stack frame. Since
            the current position is redisplayed, it may trigger a resyncronization
            if there is a front end also watching over things.

            Use the "bt" command to find out where you want to go.
          DESCRIPTION
        end

regexp() click to toggle source

    # File lib/byebug/commands/frame.rb, line 18
    def self.regexp
      /^\s* f(?:rame)? (?:\s+(\S+))? \s*$/x
    end

short_description() click to toggle source

    # File lib/byebug/commands/frame.rb, line 42
    def self.short_description
      "Moves to a frame in the call stack"
    end

### Public Instance Methods

execute() click to toggle source

    # File lib/byebug/commands/frame.rb, line 46
    def execute
      return print(pr("frame.line", context.frame.to_hash)) unless @match[1]

      pos, err = get_int(@match[1], "Frame")
      return errmsg(err) unless pos

      switch_to_frame(pos)

      ListCommand.new(processor).execute if Setting[:autolist]
    end