#开发过程中,修改代码或者调试代码,想知道问题出现在哪里,往往是一步步的去排除问题。利用debug_backtrace整个过程的调用过程,并能回溯到最开始调用的地方,便于开发和排查。#说明:debug_backtrace ([int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT [,int $limit = 0 ]]) : array 产生一条回溯跟踪#参数: options #options: DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。#options: DEBUG_BACKTRACE_PROVIDE_OBJECT 是否填充 "object" 的索引#参数: limit 截至 5.4.0,这个参数能够用于限制返回堆栈帧的数量。 默认为 (limit=0) ,返回所有的堆栈帧#返回值:返回一个包含众多关联的array#array: __FUNCTION__ 方法名称#array: __FILE__ 文件名称#array: __LINE__ 行数#array: __CLASS__ 类名称#array: type 当前调用的类型。如果是一个方法,会返回 "->"。如果是一个静态方法,会返回 "::"。 如果是一个函数调用,则返回空。#array: args 如果在一个函数里,这会列出函数的参数。 如果是在一个被包含的文件里,会列出包含的文件名。/** * php扩展 - 错误处理 * debug_backtrace 产生一条回溯跟踪 */class backtrace{ ???????public function backtrace_test($str) { ???????????????echo "\ntest: $str"; ???????????????echo "<pre>"; ???????????????var_dump(debug_backtrace()); ???????????????echo "</pre>"; ???????} ???????public static function backtrace_test1($str) { ???????????????echo "\ntest: $str"; ???????????????echo "<pre>"; ???????????????var_dump(debug_backtrace()); ???????????????echo "<pre/>"; ???????}}$backtrace = new backtrace();$backtrace->backtrace_test("debug_backtrace");$backtrace::backtrace_test1("debug_backtrace1");/*打印结果:test: debug_backtracearray(1) { ?[0]=> ?array(7) { ???["file"]=> ???string(36) "/var/www/laravel/error_reporting.php" ???["line"]=> ???int(23) ???["function"]=> ???string(14) "backtrace_test" ???["class"]=> ???string(9) "backtrace" ???["object"]=> ???object(backtrace)#1 (0) { ???} ???["type"]=> ???string(2) "->" ???["args"]=> ???array(1) { ?????[0]=> ?????string(15) "debug_backtrace" ???} ?}}test: debug_backtrace1array(1) { ?[0]=> ?array(6) { ???["file"]=> ???string(36) "/var/www/laravel/error_reporting.php" ???["line"]=> ???int(24) ???["function"]=> ???string(15) "backtrace_test1" ???["class"]=> ???string(9) "backtrace" ???["type"]=> ???string(2) "::" ???["args"]=> ???array(1) { ?????[0]=> ?????string(16) "debug_backtrace1" ???} ?}}*/
PHP错误处理 - 跟踪代码调用
原文地址:https://www.cnblogs.com/arnoldlivip/p/10453650.html