class Rubinius::Debugger::Command::Backtrace

Public Instance Methods

run(args) click to toggle source
# File lib/rubinius/debugger/commands.rb, line 467
def run(args)
  verbose = (args =~ /-v/)

  if m = /(\d+)/.match(args)
    count = m[1].to_i
  else
    count = nil
  end

  info "Backtrace:"

  @debugger.each_frame(current_frame) do |frame|
    return if count and frame.number >= count

    info "%4d %s" % [frame.number, frame.describe]

    if verbose
      frame.local_variables.each do |local|
        info "       #{local} = #{frame.run(local.to_s).inspect}"
      end
    end
  end
end