Sha256: cc6d06759506c2dd73308a463a2381417a330ee948ad12d251321da08c9eca74

Contents?: true

Size: 2 KB

Versions: 4

Compression:

Stored size: 2 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'optparse'
require "ostruct"
require 'ruby-debug'

$stdout.sync=true

options = OpenStruct.new(
  'host'        => nil,
  'port'        => 1234,
  'tracing'     => false,
  'frame_bind'  => false,
  'load_mode'   => false
)

opts = OptionParser.new do |opts|
  opts.banner = <<EOB
Using ruby-debug-base #{Debugger::VERSION}
Usage: rdebug-ide is supposed to be called from RDT or NetBeans. The command line interface to ruby-debug is rdebug.
EOB
  opts.separator ""
  opts.separator "Options:"
  opts.on("-h", "--host HOST", "Host name used for remote debugging") {|options.host|}
  opts.on("-p", "--port PORT", Integer, "Port used for remote debugging") {|options.port|}
  opts.on("-x", "--trace", "turn on line tracing") {options.tracing = true}
  opts.on("-l", "--load-mode", "load mode (experimental)") {options.load_mode = true}
  opts.on("-d", "--debug", "Debug self - prints information for debugging ruby-debug itself") do
    Debugger.is_debug = true
  end
  opts.on("-I", "--include PATH", String, "Add PATH to $LOAD_PATH") do |path|
    $LOAD_PATH.unshift(path)
  end
  
  opts.on("--keep-frame-binding", "Keep frame bindings") {options.frame_bind = true}
  opts.separator ""
  opts.separator "Common options:"
  opts.on_tail("-v", "--version", "Show version") do
    puts "Using ruby-debug-base #{Debugger::VERSION}"
    exit
  end
end

begin
  Debugger::ARGV = ARGV.clone
  rdebug_path = File.expand_path($0)
  if RUBY_PLATFORM =~ /mswin/
    rdebug_path += ".cmd" unless rdebug_path =~ /\.cmd$/i
  end
  Debugger::RDEBUG_SCRIPT = rdebug_path
  opts.parse! ARGV
rescue StandardError => e
  puts opts
  puts
  puts e.message
  exit(1)
end

if ARGV.empty?
  puts opts
  puts
  puts "Must specify a script to run"
  exit(1)
end    

# save script name
Debugger::PROG_SCRIPT = ARGV.shift
  
# install interruption handler
trap('INT') { Debugger.interrupt_last }
  
# set options
Debugger.keep_frame_binding = options.frame_bind

Debugger.main(options.host, options.port, options.load_mode)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-debug-ide-0.3.4 bin/rdebug-ide
ruby-debug-ide-0.3.1 bin/rdebug-ide
ruby-debug-ide-0.3.3 bin/rdebug-ide
ruby-debug-ide-0.3.2 bin/rdebug-ide