PHP 使用 debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹

<?php

/* 使用debug_print_backtrace() 或 debug_backtrace() 打印栈轨迹 */

function fun1() {
	print "Hello world!\n";
	fun2();
}

function fun2() {
	Class1::fun3();
}

Class Class1 {
	static function fun3() {
		$class2 = new Class2();
		$class2->fun4();
	}
}

class Class2 {
	function fun4() {
		debug_print_backtrace();
		$backtrace = debug_backtrace();
		echo '<pre>';
		print_r($backtrace);
	}
}

fun1();

输出:

Hello world!
#0  Class2->fun4() called at [D:\wamp\www\practise\php\phpcookbook\error\track.php.php:17]
#1  Class1::fun3() called at [D:\wamp\www\practise\php\phpcookbook\error\track.php.php:11]
#2  fun2() called at [D:\wamp\www\practise\php\phpcookbook\error\track.php.php:7]
#3  fun1() called at [D:\wamp\www\practise\php\phpcookbook\error\track.php.php:30]
<pre>Array
(
	[0] => Array
    (
	    [file] => D:\wamp\www\practise\php\phpcookbook\error\track.php.php
	    [line] => 17
	    [function] => fun4
	    [class] => Class2
	    [object] => Class2 Object
        (
        )

	    [type] => ->
	    [args] => Array
        (
        )
    )

	[1] => Array
	    (
        [file] => D:\wamp\www\practise\php\phpcookbook\error\track.php.php
        [line] => 11
        [function] => fun3
        [class] => Class1
        [type] => ::
        [args] => Array
          (
          )
    )

	[2] => Array
    (
      [file] => D:\wamp\www\practise\php\phpcookbook\error\track.php.php
      [line] => 7
      [function] => fun2
      [args] => Array
        (
        )
    )

	[3] => Array
    (
      [file] => D:\wamp\www\practise\php\phpcookbook\error\track.php.php
      [line] => 30
      [function] => fun1
      [args] => Array
        (
        )
    )
)

  

参考:

<PHP Cookbook>3'rd  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值