Sha256: 2e3d84be43093f9a6df3c8de5eb990c6f108a7e8ed4882d493b202f6760d4e72

Contents?: true

Size: 1.17 KB

Versions: 6770

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

require "pathname"
require_relative "../command"
require_relative "../helpers/frame"

module Byebug
  #
  # Show current backtrace.
  #
  class WhereCommand < Command
    include Helpers::FrameHelper

    self.allow_in_post_mortem = true

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

    def self.description
      <<-DESCRIPTION
        w[here]|bt|backtrace

        #{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.
      DESCRIPTION
    end

    def self.short_description
      "Displays the backtrace"
    end

    def execute
      print_backtrace
    end

    private

    def print_backtrace
      bt = prc("frame.line", (0...context.stack_size)) do |_, index|
        Frame.new(context, index).to_hash
      end

      print(bt)
    end
  end
end

Version data entries

6,770 entries across 6,767 versions & 30 rubygems

Version Path
ory-client-0.0.1.alpha80 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha79 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha78 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha77 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha76 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha75 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha74 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha73 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha72 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha71 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha70 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha69 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha68 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha67 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha66 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-oathkeeper-client-0.38.19.beta1 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-oathkeeper-client-0.38.18.beta1 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-oathkeeper-client-0.38.17.beta1 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
avalara_sdk-2.4.7 vendor/bundle/ruby/2.6.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb
ory-client-0.0.1.alpha58 vendor/bundle/ruby/2.5.0/gems/byebug-11.1.3/lib/byebug/commands/where.rb