Module: Kernel
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
TrapInterceptor,
ForkInterceptor
|
|
Instance Chain:
self,
TrapInterceptor,
ForkInterceptor,
TrapInterceptor
|
|
Defined in: | lib/debug/prelude.rb, lib/debug/session.rb, lib/debug/session.rb, lib/debug/session.rb, lib/debug/session.rb |
Overview
Put the following line in your login script (e.g. ~/.bash_profile) with modified path:
export RUBYOPT="-r /path/to/debug/prelude $(RUBYOPT)"
Instance Method Summary
-
bb(pre: nil, do: nil, up_level: 0)
Alias for #debugger.
-
debugger(pre: nil, do: nil, up_level: 0)
(also: #bb, #bb, #bb, #bb)
See additional method definition at file lib/debug/prelude.rb line 11.
Instance Method Details
bb(pre: nil, do: nil, up_level: 0)
Alias for #debugger.
# File 'lib/debug/prelude.rb', line 44
alias bb debugger if ENV['RUBY_DEBUG_BB']
debugger(pre: nil, do: nil, up_level: 0) Also known as: #bb, #bb, #bb, #bb
See additional method definition at file lib/debug/prelude.rb line 11.
# File 'lib/debug/session.rb', line 2398
def debugger(*a, up_level: 0, **kw) begin require_relative 'version' cur_version = ::DEBUGGER__::VERSION require_relative 'frame_info' if !defined?(::DEBUGGER__::SO_VERSION) || ::DEBUGGER__::VERSION != ::DEBUGGER__::SO_VERSION ::Object.send(:remove_const, :DEBUGGER__) raise LoadError end require_relative 'session' up_level += 1 rescue LoadError $LOADED_FEATURES.delete_if{|e| e.start_with?(__dir__) || e.end_with?('debug/debug.so') } require 'debug/session' require 'debug/version' ::DEBUGGER__.info "Can not activate debug #{cur_version} specified by debug/prelude.rb. Activate debug #{DEBUGGER__::VERSION} instead." up_level += 1 end ::DEBUGGER__::start no_sigint_hook: true, nonstop: true begin debugger(*a, up_level: up_level, **kw) self rescue ArgumentError # for 1.2.4 and earlier debugger(*a, **kw) self end end