📅  最后修改于: 2022-03-11 14:58:14.178000             🧑  作者: Mango
Description:
------------
In all cases (but the one below one), "file" and "line" indexes are defined in each frame of the output of debug_backtrace.
But when using call_user_function() or call_user_function_array, "file" and "line" is not defined for one of the frames.
It would be nice if I could count on file and line always being defined when using the output of debug_backtrace, thereby avoiding code for special cases.
For the missing file and line in the example code below, when calling f() inside call_user_function(), I suggest using the file and line of the call_user_function() call.
See also bug 38047 and 24405.
Reproduce code:
---------------
Expected result:
----------------
The frame with index 0 of the first debug_backtrace_call should contain indexes "file" => "test.php" and "line" => 6
Actual result:
--------------
array(2) {
[0]=>
array(2) {
["function"]=>
string(1) "f"
["args"]=>
array(1) {
[0]=>
&array(0) {
}
}
}
[1]=>
array(4) {
["file"]=>
string(18) "/home/tjk/test.php"
["line"]=>
int(6)
["function"]=>
string(14) "call_user_func"
["args"]=>
array(2) {
[0]=>
&string(1) "f"
[1]=>
&array(0) {
}
}
}
}
array(1) {
[0]=>
array(4) {
["file"]=>
string(18) "/home/tjk/test.php"
["line"]=>
int(8)
["function"]=>
string(1) "f"
["args"]=>
array(0) {
}
}
}