Sha256: f08bea056b83d12fdb7e1e398a415585e56fda3d3e29616487da57396c9532ad
Contents?: true
Size: 1.78 KB
Versions: 1
Compression:
Stored size: 1.78 KB
Contents
# -*- coding: utf-8 -*- # Copyright (C) 2011 Rocky Bernstein <rockyb@rubyforge.net> require 'rubygems'; require 'require_relative' require_relative 'default' # default debugger settings require_relative '../interface/comcodes' # communication codes module Trepanning include Trepanning::RemoteCommunication def start_client(options) dbgr = Trepan.new(:client => true, :cmdfiles => [], :initial_dir => options[:chdir], :nx => true, :host => options[:host], :port => options[:port] ) intf = dbgr.intf[-1] while true begin control_code, line = intf.read_remote rescue EOFError, Errno::EPIPE puts "Remote debugged process closed connection" break end # p [control_code, line] case control_code when PRINT print line when CONFIRM_TRUE response = intf.confirm(line, true) intf.write_remote(CONFIRM_REPLY, response ? 'Y' : 'N') when CONFIRM_FALSE response = intf.confirm(line, true) intf.write_remote(CONFIRM_REPLY, response ? 'Y' : 'N') when PROMPT # require 'trepanning' # debugger begin command = intf.read_command(line) rescue EOFError puts "user-side EOF. Quitting..." break end begin intf.write_remote(COMMAND, command) rescue Errno::EPIPE puts "Remote debugged process died" break end when QUIT break when RESTART break else $stderr.puts "** Unknown control code: #{control_code}" end end end module_function :start_client end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rbx-trepanning-0.1.0-universal-rubinius-1.2 | app/client.rb |