PHP debug_backtrace() º¯Êý
ʵÀý
Éú³É PHP backtrace£º
<?php
function a($txt) {
b("Glenn");
}
function b($txt) {
c("Cleveland");
}
function c($txt) {
var_dump(debug_backtrace());
}
a("Peter");
?>
ÒÔÉÏ´úÂëµÄÊä³öÀàËÆÕâÑù£º
Array (
[0] => Array (
[file] => C:\webfolder\test.php
[line] => 6
[function] => c
[args] => Array (
[0] => Cleveland
)
)
[1] => Array (
[file] => C:\webfolder\test.php
[line] => 3
[function] => b
[args] => Array (
[0] => Glenn
)
)
[2] => Array (
[file] => C:\webfolder\test.php
[line] => 11
[function] => a
[args] => Array (
[0] => Peter
)
)
)
¶¨ÒåºÍÓ÷¨
debug_backtrace() º¯ÊýÉú³É backtrace£¨»ØËݸú×Ù£©¡£
¸Ãº¯ÊýÏÔʾÓÉ debug_backtrace() º¯Êý´úÂëÉú³ÉµÄÊý¾Ý¡£
·µ»ØÒ»¸ö¹ØÁªÊý×é¡£¿ÉÄÜ·µ»ØµÄÔªËØÈçÏ£º
| Ãû³Æ | ÀàÐÍ | ÃèÊö |
|---|---|---|
| function | string | µ±Ç°º¯ÊýÃû³Æ |
| line | integer | µ±Ç°ÐкŠ|
| file | string | µ±Ç°ÎļþÃû |
| class | string | µ±Ç°ÀàÃû |
| object | object | µ±Ç°¶ÔÏó |
| type | string |
µ±Ç°µ÷ÓÃÀàÐÍ¡£¿ÉÄܵĵ÷Óãº
|
| args | array | Èç¹ûÔÚº¯ÊýÖУ¬Áгöº¯Êý²ÎÊý¡£Èç¹ûÔÚ±»ÒýÓõÄÎļþÖУ¬Áгö±»ÒýÓõÄÎļþÃû¡£ |
Óï·¨
debug_backtrace(options,limit);
| ²ÎÊý | ÃèÊö |
|---|---|
| options |
¿ÉÑ¡¡£¹æ¶¨ÒÔÏÂÑ¡ÏîµÄλÑÚÂ룺
|
| limit | ¿ÉÑ¡¡£ÏÞÖÆ·µ»Ø¶ÑÕ»Ö¡µÄÊýÁ¿¡£Ä¬ÈÏΪ (limit=0) £¬·µ»ØËùÓеĶÑÕ»Ö¡¡£ |
¼¼Êõϸ½Ú
| ·µ»ØÖµ£º | None |
|---|---|
| PHP °æ±¾£º | 4.3+ |
| PHP ¸üÐÂÈÕÖ¾ |
PHP 5.4£ºÌí¼ÓÁË¿ÉÑ¡µÄ²ÎÊý limit¡£ PHP 5.3.6£º²ÎÊý provide_object ¸Ä³É options£¬²¢ÇÒÔö¼ÓÁË¿ÉÑ¡²ÎÊý DEBUG_BACKTRACE_IGNORE_ARGS¡£ PHP 5.2.5£ºÌí¼ÓÁË¿ÉÑ¡²ÎÊý provide_object¡£ PHP 5.1.1£ºÌí¼ÓÁ˵±Ç°µÄ object Ϊ¿ÉÄÜ·µ»ØµÄÔªËØ¡£ |