start_remote (Debugger)

    # File cli/ruby-debug.rb, line 41
        def start_remote(host = nil, port = PORT, post_mortem = false)
          return if @thread
          return if started?

          self.interface = nil
          start
          self.post_mortem if post_mortem

          if port.kind_of?(Array)
            cmd_port, ctrl_port = port
          else
            cmd_port, ctrl_port = port, port + 1
          end

          start_control(host, ctrl_port)

          yield if block_given?

          mutex = Mutex.new
          proceed = ConditionVariable.new

          @thread = DebugThread.new do
            server = TCPServer.new(host, cmd_port)
            while (session = server.accept)
              self.interface = RemoteInterface.new(session)
              if wait_connection
                mutex.synchronize do
                  proceed.signal
                end
              end
            end
          end
          if wait_connection
            mutex.synchronize do
              proceed.wait(mutex)
            end
          end
        end