async def debug(self, client_id, conn_string, command, args):
        """Send a debug command to a device on behalf of a client.

        See :meth:`AbstractDeviceAdapter.send_script`.

        Args:
            client_id (str): The client we are working for.
            conn_string (str): A connection string that will be
                passed to the underlying device adapter.
            command (str): The name of the debug command to run.
            args (dict): Any command arguments.

        Returns:
            object: The response to the debug command.

        Raises:
            DeviceServerError: There is an issue with your client_id such
                as not being connected to the device.
            DeviceAdapterError: The adapter had a protocol issue sending the debug
                command.
        """

        conn_id = self._client_info(client_id, 'connections')[conn_string]
        return await self.adapter.debug(conn_id, command, args)