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 "<pre>";debug_print_backtrace();
}
}

class b {
function say($msg) {
$a = new a();
$a->say($msg);
}
}

class c {
function __construct($msg) {
$b = new b();
$b->say($msg);
}
}

$c = new c("test");

输出结果


代码如下:

msg:test
#0 a->say(test) called at [/var/www/test/test0723.php:12]
#1 b->say(test) called at [/var/www/test/test0723.php:19]
#2 c->__construct(test) called at [/var/www/test/test0723.php:23]

相关链接

http://ch2.php.net/manual/zh/function.debug-print-backtrace.php
http://ch2.php.net/manual/zh/function.debug-backtrace.php

(0)

相关推荐

  • php性能优化分析工具XDebug 大型网站调试工具

    一.安装配置 1.下载PHP的XDebug扩展,网址:http://xdebug.org/ 2.在Linux下编译安装XDebug 引用 tar -xzf xdebug-2.0.0RC3.gz cd xdebug-2.0.0RC3 /usr/local/php/bin/phpize ./configure --enable-xdebug cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429

  • 在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中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    本文实例讲述了php中debug_backtrace.debug_print_backtrace和匿名函数用法.分享给大家供大家参考.具体分析如下: debug_print_backtrace() 是一个很低调的函数,很少有人注意过它. 不过当我们对着一个对象调用另一个对象再调用其它的对象和文件中的一个函数出错时,它正在一边笑呢. debug_print_backtrace() 可以打印出一个页面的调用过程,从哪儿来到哪儿去一目了然.不过这是一个PHP5的专有函数,好在pear中已经有了实现.

  • php Xdebug的安装与使用详解

    为什么需要Debugger?很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数).那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓.什么是Xdebug?Xdebug是一个开放源代码的PHP程序调试器(即一个Debu

  • 浅谈php+phpStorm+xdebug配置方法

    1.下载xdebug文件 http://xdebug.org/wizard.php 将phpinfo()的源代码复制到文本框中,xdebug会提示如何配置和下载哪个版本的xdebug. 全部下载地址: http://www.xdebug.org/download.php 2.配置php.ini,在末尾加上. zend_extension="php_xdebug-2.3.3-5.6-vc11.dll" xdebug.remote_enable = On xdebug.remote_han

  • 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 安装技巧

    本打算配置ZendDebugger 进行调试,配置了老长时间没配置成功,在phpinfo看不到ZendDebugger生效,经查发现是php5.3的问题,必须先卸载,本文介绍使用xdebug了. 软件安装太简单了,分别执行如下命令: sudo apt-get install apache2 sudo apt-get install php5 sudo apt-get install php5-cli sudo apt-get install php5-xdebug php的配置: php.ini

  • php的debug相关函数用法示例

    本文实例讲述了php的debug相关函数用法.分享给大家供大家参考,具体如下: loginfo函数: function loginfo($format) { $args = func_get_args(); array_shift($args); $d = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 1)[0]; $info = vsprintf($format, $args); $data = sprintf("%s %s,%d: %s\n&

  • 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

  • php代码调试利器firephp安装与使用方法分析

    本文实例分析了php代码调试利器firephp安装与使用方法.分享给大家供大家参考,具体如下: firephp简述 如果你曾经写过js代码的话,那么你对如下的代码肯定不会陌生: console.log('something'); 通过这行代码,就可以在chome和firefox的开发工具(F12)的console栏中看到你想要的调试信息. 那么,php能不能也通过这种形式进行代码调试呢? 答案是肯定的,可以通过firephp工具来实现在浏览器的console栏中进行调试. firephp的安装

  • go-spew调试利器详解

    目录 go-spew Dump系列函数 自定义配置 小结 References 对于应用的调试,我们经常会使用 fmt.Println来输出关键变量的数据.或者使用 log 库,将数据以 log 的形式输出.对于基础数据类型,上面两种方法都可以比较方便地满足需求.对于一些结构体类型数据,通常我们可以先将其序列化后再输出. 如果结构体中包含不可序列化的字段,比如 func 类型,那么序列化就会抛出错误,阻碍调试. go-spew 上面的需求,go-spew 可以完美地帮我们实现.go-spew 可

  • Javascript 调试利器 Firebug使用详解六

    我们测试一下把刚才的4个输出作为一个分组输出,修改代码为: 复制代码 代码如下: console.group('开始分组:'); console.debug('This is console.debug!'); console.info('This is console.info!'); console.warn('This is console.warn!'); console.error('This is console.error!'); console.groupEnd(); 刷新页面看

  • js之WEB开发调试利器:Firebug 下载

    在米随随的Blog看到有关Firebug的介绍,遂下载试用了一下,确实是比较好的工具. 一.效果 二.主要功能 Inspect and edit HTML Tweak CSS to perfection Visualize CSS metrics Monitor network activity Debug and profile JavaScript Quickly find errors Explore the DOM Execute JavaScript on the fly Loggin

  • js调试系列 控制台命令行API使用方法

    先打开百度,然后按 F12 打开后,如果不是 Console 项的就点击 Console 这项,因为我们要在控制台操作.. 看到如下内容: 好了我们先清空内容,可以右击选 Clear console 菜单,或者输入 clear() 都行. 接着,我们输入 document.getElementById('kw1'); 然后回车,就可以看到 id 为 kw1 的元素信息了. 是不是很简单.下一步是用 console.dir 查看该元素信息. 输入 console.dir(document.getE

  • PHP调试的强悍利器之PHPDBG

    PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境. PHPDBG的目标是成为一个轻量级.强大.易用的PHP调试平台.可以在PHP5.4和之上版本中使用.在php5.6和之上版本将内部集成. 主要功能: – 单步调试 – 灵活的下断点方式(类方法.函数.文件:行.内存地址.opcode) – 可直接调用php的eval – 可以查看当前执行的代码 – 用户空间API(userland/user space) – 方便集成 – 支持指定php配置文件

  • 遭遇php的in_array低性能问题

    PHP的性能一直在提高.然而,若是用的不恰当,或是一个不留神,还是可能会踩到PHP内部实现方面的坑的.我在前几天的一个性能问题上就碰到了. 事情是这样子的,一位同事反馈我们的一个接口每次返回需要5秒之久,我们一起review了代码,"惊喜"的发现居然在循环(大约900次)中调用了一个读缓存的操作,而这个缓存的key并没有改变,因此我们把这段代码移到了循环外面,再测,接口返回时间降到了2秒,呜呼!虽然提升了1倍,但明显不是我们能接受的结果! 出现性能问题的代码量并不大,我们排除了IO问题

  • Visual Studio Debug实战教程之断点操作

    前言 调试技巧是衡量程序员水平的一个重要指标.掌握好的调试技巧与工具的使用方法,也是非常重要的. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Studio 编程语言及其关联的库. 使用调试程序时,可以中断程序的执行以检查代码.检查和编辑变量.查看寄存器.查看从源代码创建的指令,以及查看应用程序占用的内存空间. 断点,可以说是 Debug 过程中最常用的功能. 但是大家最熟悉最经常使用的可能就是普通的断点.其实,关于断点,Visu

随机推荐