debug_backtrace — 产生一条回溯跟踪(backtrace)
debug_backtrace ([ int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit = 0 ]] ) : array
options
参数 | 说明 |
---|---|
DEBUG_BACKTRACE_PROVIDE_OBJECT | 是否填充 "object" 的索引。 |
DEBUG_BACKTRACE_IGNORE_ARGS | 是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。 |
limit
用于限制返回堆栈帧的数量。 默认为 (limit=0) ,返回所有的堆栈帧。
debug_backtrace() - show all options
debug_backtrace(0) - exlude ["object"]
debug_backtrace(1) - same as debug_backtrace()
debug_backtrace(2) - exlude ["object"] AND ["args"]
<?php
public function dump( $var ) {
$result = var_export( $var, true );
$loc = $this->whereCalled();
return "\n<pre>Dump: $loc\n$result</pre>";
}
public function whereCalled( $level = 1 ) {
$trace = debug_backtrace();
$file = $trace[$level]['file'];
$line = $trace[$level]['line'];
$object = $trace[$level]['object'];
if (is_object($object)) { $object = get_class($object); }
return "Where called: line $line of $object \n(in $file)";
}
网友评论