function PHP_debug_backtrace(Executor $executor, array $args, Zval $return) { $array = array(); $current = $executor->getCurrent(); while ($current->parent) { $parent = $current->parent; $ret = array('line' => $parent->opLine->attributes['startLine'], 'file' => $parent->opArray->getFileName()); if ($current->function) { if ($current->ci) { $ret['class'] = $current->ci->getClassEntry()->getName(); $ret['object'] = $current->ci; $ret['type'] = '->'; $ret['function'] = $current->ci->getClassEntry()->getMethodStore()->getName($current->function); } else { $ret['function'] = $current->executor->getFunctionStore()->getName($current->function); } $ret['args'] = $current->arguments; } $array[] = $ret; $current = $parent; } $return->setValue($array); }