class Byebug::WhereCommand
Show current backtrace.
Public Class Methods
description()
click to toggle source
# File lib/byebug/commands/where.rb, line 20 def self.description <<-DESCRIPTION w[here]|bt|backtrace[ maximum-frame] #{short_description} Print the entire stack frame. Each frame is numbered; the most recent frame is 0. A 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 -->. C-frames hang from their most immediate Ruby frame to indicate that they are not navigable. Without an argument, the command prints all the frames. With an argument, the command prints the nth first frames, where n is the largest between the argument or the maximum stack frame. DESCRIPTION end
regexp()
click to toggle source
# File lib/byebug/commands/where.rb, line 16 def self.regexp /^\s* (?:w(?:here)?|bt|backtrace) (?:\s+(\S+))? \s*$/x end
short_description()
click to toggle source
# File lib/byebug/commands/where.rb, line 39 def self.short_description "Displays the backtrace" end
Public Instance Methods
execute()
click to toggle source
# File lib/byebug/commands/where.rb, line 43 def execute print_backtrace end
Private Instance Methods
print_backtrace()
click to toggle source
# File lib/byebug/commands/where.rb, line 49 def print_backtrace max_frame = if @match[1] && @match[1].to_i <= context.stack_size @match[1].to_i else context.stack_size end bt = prc("frame.line", (0...max_frame)) do |_, index| Frame.new(context, index).to_hash end print(bt) end