php中堆栈调试

你是否想知道当前函数被哪些文件调用了,如果知道了这些路径,我们就能很好的理解程序的执行过程,这是非常重要的,也是了解别人程序的基础,那么这里我就给大家介绍一种php中的堆栈调试的方法,其实就是php内置的一个函数debug_backtrace();

下面是就稍微介绍一下吧,具体还是要看手册哦,喜欢看手册的程序员才是前途无量的

$statcks = debug_backtrace();
$tmp_arr = array();
if(!$stacks) return $tmp_arr;
foreach($stacks as $k=>$v)
        {
            $tmp[$k]['file'] = isset($v['file']) ? $v['file'] : '--';
            $tmp[$k]['line'] = isset($v['line'])? $v['line'] : '--';
            $tmp[$k]['function'] = isset($v['function']) ? $v['function'] : '--';
        }


Array
(
    [0] => Array
        (
            [file] => D:\wwwroot\CodeIgniter\application\controllers\finance\channel.php
            [line] => 128
            [function] => get_total_rows
        )

    [1] => Array
        (
            [file] => --
            [line] => --
            [function] => index
        )

    [2] => Array
        (
            [file] => D:\wwwroot\CodeIgniter\application\controllers\finance\channel.php
            [line] => 46
            [function] => call_user_func
        )

    [3] => Array
        (
            [file] => --
            [line] => --
            [function] => get_nav
        )

    [4] => Array
        (
            [file] => D:\wwwroot\CodeIgniter\system\core\CodeIgniter.php
            [line] => 360
            [function] => call_user_func_array
        )

    [5] => Array
        (
            [file] => D:\wwwroot\CodeIgniter\index.php
            [line] => 205
            [function] => require_once
        )

)

这里是打印出来的数组,非常的好了

你可能感兴趣的:(php基本模块)