public function ddump($file, $line, ...$data)
    {
        static $last_key = '';

        if (($is_html = $this->isHtml())) {
            fputs($this->output, '<pre>');
        }

        $key = $file . ':' . $line;

        if ($last_key != $key) {
            fputs($this->output, $this->format(sprintf("\n** DEBUG: %s(%d)**\n", $file, $line), false));
            $last_key = $key;
        }

        if (extension_loaded('xdebug')) {
            for ($i = 0, $cnt = count($data); $i < $cnt; ++$i) {
                var_dump($data[$i]);
            }
        } else {
            for ($i = 0, $cnt = count($data); $i < $cnt; ++$i) {
                ob_start(array($this, 'format'));
                var_dump($data[$i]);
                ob_end_flush();
            }
        }

        if ($is_html) {
            fputs($this->output, '</pre>');
        }
    }