php 方法追踪其被调用的踪迹

一、遇到的问题

一个公共方法,有多个调用入口,快速排查到其被调用的入口

二、解决

使用debug_backtrace(),其记录了调用方法的所有上层方法,如下为打印的debug_backtrace()的数据,从键值0开始,依次往上一层一层推经过的方法,直到调用方法的入口。

debug_backtrace()可用于捕捉异常,发送异常邮件。

php 复制代码
array (
  0 => 
  array (
    'file' => 'trunk\\data\\test.php',
    'line' => 133,
    'function' => 'getTrace',
    'class' => 'TestDataKernel',
    'args' => 
    array (
      0 => 630,
      1 => 19,
      2 => '多元化集团',
      3 => 0,
      4 => 1,
    ),
  ),
  1 => 
  array (
    'file' => '\\trunk\\business\\business.test.php',
    'line' => 3617,
    'function' => 'testName',
    'class' => 'TestDataKernel',
    'args' => 
    array (
      0 => 630,
      1 => 19,
      2 => '多元化集团',
      3 => 0,
      4 => 1,
    ),
  ),
相关推荐
天若有情6734 小时前
程序员原创|借鉴JS事件冒泡,根治电脑文件混乱的“冒泡整理法”
开发语言·javascript·windows·ecmascript·电脑·办公·日常
特种加菲猫5 小时前
继承,一场跨越时空的对话
开发语言·c++
FYKJ_20105 小时前
springboot校园兼职平台--附源码02041
java·javascript·spring boot·python·eclipse·django·php
玩转单片机与嵌入式6 小时前
玩转边缘AI(TInyML):需要掌握的C++知识汇总!
开发语言·c++·人工智能
茉莉玫瑰花茶6 小时前
Qt 信号与槽 [ 1 ]
开发语言·数据库·qt
AI人工智能+电脑小能手7 小时前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
张健11564096487 小时前
临界区和同一线程上锁
java·开发语言·jvm
头发够用的程序员8 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
夜猫逐梦8 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏