def start(options={}, &block)
options = Debugger::DEFAULT_START_SETTINGS.merge(options)
if options[:init]
Debugger.const_set('ARGV', ARGV.clone) unless
defined? Debugger::ARGV
Debugger.const_set('PROG_SCRIPT', $0) unless
defined? Debugger::PROG_SCRIPT
Debugger.const_set('INITIAL_DIR', Dir.pwd) unless
defined? Debugger::INITIAL_DIR
end
Debugger.tracing = options[:tracing] unless options[:tracing].nil?
retval = Debugger.started? ? block && block.call(self) : Debugger.start_(&block)
if options[:post_mortem]
post_mortem
end
return retval
end