Class: DEBUGGER__::Breakpoint
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Instance Chain: 
          self,
           Color,SkipPathHelper | |
| Inherits: | Object | 
| Defined in: | lib/debug/breakpoint.rb | 
Class Method Summary
Instance Attribute Summary
- #deleted? ⇒ Boolean readonly
- #duplicable? ⇒ Boolean readonly
- #enabled? ⇒ Boolean readonly
- #key readonly
- #oneshot? ⇒ Boolean readonly
Instance Method Summary
- #delete
- #description
- #disable
- #enable
- #generate_label(name)
- #safe_eval(b, expr)
- #setup
- #skip_path?(path) ⇒ Boolean
- #suspend
- #to_s
Color - Included
| #color_pp | See additional method definition at line 50. | 
| #colored_inspect, | |
| #colorize | See additional method definition at line 36. | 
| #colorize_blue, | |
| #colorize_code | See additional method definition at line 79. | 
| #colorize_cyan, #colorize_dim, #colorize_magenta, | |
| #irb_colorize | See additional method definition at line 27. | 
| #with_inspection_error_guard | |
SkipPathHelper - Included
Constructor Details
    .new(cond, command, path, do_enable: true)  ⇒ Breakpoint 
  
Instance Attribute Details
    #deleted?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/debug/breakpoint.rb', line 57
def deleted? @deleted end
    #duplicable?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/debug/breakpoint.rb', line 84
def duplicable? false end
    #enabled?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/debug/breakpoint.rb', line 48
def enabled? @tp.enabled? end
#key (readonly)
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 9
attr_reader :key
    #oneshot?  ⇒ Boolean  (readonly)
  
  [ GitHub ]
# File 'lib/debug/breakpoint.rb', line 32
def oneshot? defined?(@oneshot) && @oneshot end
Instance Method Details
#delete
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 52
def delete disable @deleted = true end
#description
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 80
def description to_s end
#disable
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 44
def disable @tp&.disable end
#enable
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 40
def enable @tp.enable end
#generate_label(name)
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 101
def generate_label(name) colorize(" BP - #{name} ", [:YELLOW, :BOLD, :REVERSE]) end
#safe_eval(b, expr)
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 22
def safe_eval b, expr b.eval(expr) rescue Exception => e puts "[EVAL ERROR]" puts " expr: #{expr}" puts " err: #{e} (#{e.class})" puts "Error caused by #{self}." nil end
#setup
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 36
def setup raise "not implemented..." end
    #skip_path?(path)  ⇒ Boolean 
  
# File 'lib/debug/breakpoint.rb', line 88
def skip_path?(path) case @path when Regexp !path.match?(@path) when String !path.include?(@path) else super end end
#suspend
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 61
def suspend if @command provider, pre_cmds, do_cmds = @command nonstop = true if do_cmds cmds = [*pre_cmds&.split(';;'), *do_cmds&.split(';;')] SESSION.add_preset_commands provider, cmds, kick: false, continue: nonstop end ThreadClient.current.on_breakpoint @tp, self end
#to_s
[ GitHub ]# File 'lib/debug/breakpoint.rb', line 72
def to_s s = ''.dup s << " if: #{@cond}" if defined?(@cond) && @cond s << " pre: #{@command[1]}" if defined?(@command) && @command && @command[1] s << " do: #{@command[2]}" if defined?(@command) && @command && @command[2] s end