PHP堆栈调试操作简单示例

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • 调试PHP程序的多种方法介绍

    调试的定义:通过一定方法,在程序中找到并减少缺陷的数量,从而使其能正常工作. 这里说一些如何调试PHP程序的经验. 一.PHP自带的调试功能 1.自带的报错功能 两个名词:开发环境是开发人员在进行开发和调试的环境,生产环境是最终客户在用的线上环境: 开发环境和生产环境要分开设置报错功能. (1)开发环境 开发环境需要打开报错,以下是php.ini的配置项及其说明: 复制代码 代码如下: ; This directive sets the error reporting level. ; Deve

  • PHPStorm+XDebug进行调试图文教程

    笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行.具体下载方法如下:将phpinfo网页的源代码拷贝到http://www.xdebug.org/find-binary.php,然后按照指导安装即可.如下图所示: (2)安装XDebug按照上图下载"p

  • 在WAMP环境下搭建ZendDebugger php调试工具的方法

    东西不是新货,所以介绍就不做介绍了,下面主要是配置流程. 首先,下载ZendDebugger,下载链接:http://downloads.zend.com/pdt/server-debugger/,因为我是win系统,所以就找.zip结尾的就行了,我下的是ZendDebugger-5.2.14-cygwin_nt-i386.zip 然后解压,看到这些目录 那几个文件夹前面的数字,代表php的版本,我用的是5.2.6,所以就用5_2_x_comp,把这个文件夹里的ZendDebugger.dll复

  • PHP 调试工具Debug Tools

    发现了个调试PHP源码的好同志: PHP DEBUG TOOLS 其项目地址: http://freshmeat.net/projects/php-debug-tools/ 文件下载地址: http://freshmeat.net/urls/7c58ae3fecce5763e7546b958d36e082 目前是1.03版本 这里偶的环境是WINDOW XP , APACHE2.2, PHP5.2+ Zend Optimizer, 这里结合PHP DEBUG TOOLS的帮助文档来讲解,图有些是

  • php 服务器调试 Zend Debugger 的安装教程

    事实上,Zend Studio(后面我简称"ZDE"了)的调试功能分为内部调试和远程调试.内部调试是用ZDE内置的PHP(有4.5两个版本)进行的代码初步调试,我们把重点放在远程调试上,因为它可以完全模拟一个真实的运行环境. 远程调试需要服务器端的组件支持,我们今天的内容就是怎么来安装这个服务器端调试环境,用到的调试组件是Zend Debugger,它是轻便而且够用的,在撰写本文时,其最新版本是5.2.14,与网络上广为流传的5.2.10版略有更新.我的服务器是windows下的apa

  • FirePHP 推荐一款PHP调试工具

    PHP调试有很多中方法.今天给大家推荐的是 FirePHP(http://www.firephp.org/). 这个工具,是基于firefox的一个组件.Firephp组件安装地址.使用之前需要先安装下这个组件.完了还需要down一个FirePHP的包.下载地址. 下载完成后可以看到包里的文件如下: 我们现在来写个例子测试下.(需要include 进来fb.php文件哦)代码如下: 我们在firefox下运行.结果如下: 在这里就可以看到$str的值了. 接下来来介绍下FirePHP的几个常用方

  • php Xdebug 调试扩展的安装与使用.

    Xdebug安装 下载xdebug扩展的时候注意xdebug的版本与php版本相对应,不然出现不必要的麻烦! 我自己使用的是PHP5.2.5,下载的xdebug文件名为:php_xdebug-2.0.3-5.2.5.dll,将文件放到php/ext文件夹下即可 3.配置 xdebug配置 打开php.ini 在最后一行加入以下配置代码,配置说明已经做好注释 ;载入Xdebug zend_extension_ts="c:/php/ext/php_xdebug-2.0.4-5.2.8.dll&quo

  • php 调试利器debug_print_backtrace()

    如果我们想知道某个方法被谁调用了? debug_print_backtrace可以解决debug_print_backtrace() 可以打印出一个页面的调用过程 , 从哪儿来到哪儿去一目了然. 不过这是一个PHP5的专有函数,好在pear中已经有了实现, http://pear.php.net/package/PHP_Compat 测试代码 复制代码 代码如下: <?php class a{ function say($msg) { echo "msg:".$msg; echo

  • 解析phpstorm + xdebug 远程断点调试

    XDEBUG配置:1.安装 xdebug 略了.网上有很多资料. 重点写php.ini的配置 [XDebug] 复制代码 代码如下: zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"xdebug.default_enable = Onxdebug.collect_params = Onxdebug.remote_connect_back = On           //如果开启此,将忽略下面的 xdebug.remote_ho

  • PHP调试函数和日志记录函数分享

    网站程序开发过程经常需要调试,发布阶段也需要记录运行日志,方便发现问题和还原事件.这就要求有调试和日志记录功能. 下面分别写了用于调试的函数和用于记录错误的函数. 使用方法很简单,且自动根据日期生成日志文件: 复制代码 代码如下: //调试时,多个参数都可以: sysdebug("hello"); sysdebug("hello", "tiger is coming now"); //错误记录也一样: syserror("error&q

随机推荐