PHP使用debug_backtrace方法跟踪调试代码调用详解
本篇章节讲解PHP使用debug_backtrace方法跟踪调试代码调用。分享给大家供大家参考,具体如下: 在开发过程中,例如要修改别人开发的代码或调试出问题的代码,需要对代码流程一步步去跟踪,找到出问题的地方进行修改。如果有一个方法可以获取到某段代码是被哪个方法调用,并能一直回溯到最开始调用的地方(包括调用的文件,行数,参数等),这样就能很方便的定位到出问题的地方。 使用php的 debug_backtrace 方法说明产生一条回溯跟踪(backtrace)
参数 optionsDEBUG_BACKTRACE_PROVIDE_OBJECT 是否填充 “object” 的索引。 DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 “args” 的索引,包括所有的 function/method 的参数,能够节省内存开销。 limit这个参数能够用于限制返回堆栈帧的数量,默认为(limit=0),返回所有堆栈帧。 返回值 返回一个包含众多关联数组的array,可能返回的元素:
实例获取订单的用户资料及用户讯息,调用流程是order->user->message,最后返回整理后的信息。 假设我们调试时发现message的数据有误,则可以在message使用 使用 index.phpget_order($order_id);
?>
order.phpget_user($user_id);
// 订单资料
$order_info = array(
'order_id' => $order_id,'order_name' => 'my order','user_info' => $user_info,);
return $order_info;
}
}
?>
user.phpget_message($user_id);
$user_info = array(
'user_id' => $user_id,'name' => 'fdipzone','message' => $user_message
);
return $user_info;
}
}
?>
message.php1,'title'=>'message1'),array('id'=>2,'title'=>'message2'),);
// 加入跟踪调试
$backtrace = debug_backtrace();
var_dump($backtrace);
return $message;
}
}
?>
运行index.php,输出
可以看到调用过程是
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |