Class: Byebug::WhereCommand

Inherits:
Command
  • Object
show all
Defined in:
lib/byebug/commands/frame.rb

Overview

Implements byebug “where” or “backtrace” command.

Constant Summary

Constants inherited from Command

Command::DEF_OPTIONS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Command

commands, #find, inherited, #initialize, load_commands, #match, method_missing, options, #print_subcmds, register_setting_get, register_setting_set, register_setting_var, settings, settings_map

Constructor Details

This class inherits a constructor from Byebug::Command

Class Method Details

.help(cmd) ⇒ Object



184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# File 'lib/byebug/commands/frame.rb', line 184

def help(cmd)
  s = if cmd == 'where'
    %{
      w[here]\tdisplay stack frames
     }
      else
    %{
      bt|backtrace\t\talias for where - display stack frames
     }
      end
  s += %{
      Print the entire stack frame. Each frame is numbered, the most
      recent frame is 0. frame number can be referred to in the "frame"
      command; "up" and "down" add or subtract respectively to frame
      numbers shown. The position of the current frame is marked with
      -->.
        }
end

.help_commandObject



180
181
182
# File 'lib/byebug/commands/frame.rb', line 180

def help_command
  %w|where backtrace|
end

Instance Method Details

#executeObject



172
173
174
175
176
177
# File 'lib/byebug/commands/frame.rb', line 172

def execute
  print_backtrace
  if truncated_callstack?(@state.context, Byebug.start_sentinal)
     print "Warning: saved frames may be incomplete; compare with caller(0).\n"
  end
end

#regexpObject



168
169
170
# File 'lib/byebug/commands/frame.rb', line 168

def regexp
  /^\s*(?:w(?:here)?|bt|backtrace)$/
end