public function traceClose(int $idx = null, int $errCode = null, string $errMessage = null): void
    {
        if (null === $idx) {
            $idx = count($this->buffTrace) - 1;
        }
        
        if (!array_key_exists($idx, $this->buffTrace)) {
            throw new DebugIndexNotExistsException();
        }
        
        $this->buffTrace[$idx]['time'] = microtime(true) - $this->buffTrace[$idx]['time'];
        $this->buffTrace[$idx]['result'] = (null === $errCode ? 'OK' : '(' . $errCode . ') ' . $errMessage);
    }