code: def listen(self, grpc_port):
      
      if self._grpc_port:
        raise ValueError(
            "This DebuggerPlugin instance is already listening at gRPC port %d" %
            self._grpc_port)
      self._grpc_port = grpc_port
  
      sys.stderr.write('Creating DebuggerDataServer at port %d and logdir %s\n' %
                       (self._grpc_port, self._logdir))
      sys.stderr.flush()
      self._debugger_data_server = debugger_server_lib.DebuggerDataServer(
          self._grpc_port, self._logdir)
  
      threading.Thread(target=self._debugger_data_server.
                       start_the_debugger_data_receiving_server).start()
docs: Start listening on the given gRPC port.
  
      This method of an instance of DebuggerPlugin can be invoked at most once.
      This method is not thread safe.
  
      Args:
        grpc_port: port number to listen at.
  
      Raises:
        ValueError: If this instance is already listening at a gRPC port.