public static function backtrace($bool = false)
    {
        if (Daemon::$obInStack || $bool) {
            try {
                throw new \Exception;
            } catch (\Exception $e) {
                $trace = $e->getTraceAsString();
                $e = explode("\n", $trace);
                array_shift($e);
                array_shift($e);
                return implode("\n", $e);
            }
        }
        ob_start();
        debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
        $trace = ob_get_contents();
        ob_end_clean();

        $e = explode("\n", $trace);
        array_shift($e);
        return implode("\n", $e);
    }