Class: Byebug::FrameCommand
- Includes:
- Helpers::FrameHelper, Helpers::ParseHelper
- Defined in:
- lib/byebug/commands/frame.rb
Overview
Move to specific frames in the backtrace.
Instance Attribute Summary
Attributes inherited from Command
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Helpers::ParseHelper
#get_int, #parse_steps, #syntax_valid?
Methods included from Helpers::FrameHelper
#jump_frames, #switch_to_frame
Methods inherited from Command
#arguments, columnize, #context, #frame, help, #initialize, match, to_s
Methods included from Helpers::StringHelper
#camelize, #deindent, #prettify
Constructor Details
This class inherits a constructor from Byebug::Command
Class Method Details
.description ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# 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 ⇒ Object
18 19 20 |
# File 'lib/byebug/commands/frame.rb', line 18 def self.regexp /^\s* f(?:rame)? (?:\s+(\S+))? \s*$/x end |
.short_description ⇒ Object
42 43 44 |
# File 'lib/byebug/commands/frame.rb', line 42 def self.short_description "Moves to a frame in the call stack" end |
Instance Method Details
#execute ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# 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 |