class Byebug::InfoCommand::BreakpointsCommand
Information about current breakpoints
Public Class Methods
description()
click to toggle source
# File lib/byebug/commands/info/breakpoints.rb, line 16 def self.description <<-EOD inf[o] b[reakpoints] #{short_description} EOD end
regexp()
click to toggle source
# File lib/byebug/commands/info/breakpoints.rb, line 12 def self.regexp /^\s* b(?:reakpoints)? (?:\s+ (.+))? \s*$/x end
short_description()
click to toggle source
# File lib/byebug/commands/info/breakpoints.rb, line 24 def self.short_description 'Status of user settable breakpoints' end
Public Instance Methods
execute()
click to toggle source
# File lib/byebug/commands/info/breakpoints.rb, line 28 def execute return puts('No breakpoints.') if Byebug.breakpoints.empty? breakpoints = Byebug.breakpoints.sort_by(&:id) if @match[1] indices = @match[1].split(/ +/).map(&:to_i) breakpoints = breakpoints.select { |b| indices.member?(b.id) } if breakpoints.empty? return errmsg('No breakpoints found among list given') end end puts 'Num Enb What' breakpoints.each { |b| info_breakpoint(b) } end
Private Instance Methods
info_breakpoint(brkpt)
click to toggle source
# File lib/byebug/commands/info/breakpoints.rb, line 47 def info_breakpoint(brkpt) expr = brkpt.expr.nil? ? '' : " if #{brkpt.expr}" y_n = brkpt.enabled? ? 'y' : 'n' interp = format('%-3d %-3s at %s:%s%s', brkpt.id, y_n, brkpt.source, brkpt.pos, expr) puts interp hits = brkpt.hit_count return unless hits > 0 s = (hits > 1) ? 's' : '' puts " breakpoint already hit #{hits} time#{s}" end