Module: Hijack

Defined in:
lib/hijack/gdb.rb,
lib/hijack.rb,
lib/hijack/helper.rb,
lib/hijack/console.rb,
lib/hijack/payload.rb,
lib/hijack/workspace.rb

Overview

Based on gdb.rb by Jamis Buck, thanks Jamis!

Defined Under Namespace

Modules: Helper Classes: Console, GDB, Payload, Workspace

Constant Summary collapse

HijackCompletionProc =
proc {|input|
  bind = IRB.conf[:MAIN_CONTEXT].workspace.binding
  if helpers = Helper.helpers_like(input)
    helpers
  else
    IRB::InputCompletor::CompletionProc.call(input)
  end
}

Class Method Summary collapse

Class Method Details

.optionsObject



20
21
22
# File 'lib/hijack.rb', line 20

def self.options
  @@options
end

.socket_for(pid) ⇒ Object



24
25
26
# File 'lib/hijack.rb', line 24

def self.socket_for(pid)
  "drbunix:/#{socket_path_for(pid)}"
end

.socket_path_for(pid) ⇒ Object



28
29
30
# File 'lib/hijack.rb', line 28

def self.socket_path_for(pid)
  "/tmp/hijack.#{pid}.sock"
end

.start(pid, options) ⇒ Object



15
16
17
18
# File 'lib/hijack.rb', line 15

def self.start(pid, options)
  @@options = options
  Console.new(pid)
end