我正在寻找一种在PHP中打印调用堆栈的方法。

如果函数刷新IO缓冲区,则加分。


当前回答

奇怪的是没有人这样发帖:

debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);

这实际上是在没有垃圾的情况下打印backtrace -只是调用了什么方法和在哪里。

其他回答

使用debug_backtrace获取被调用的函数和方法的反向跟踪,以及被包含到调用debug_backtrace的位置的文件。

如果一个人只是对文件感兴趣,你可以使用以下:

print_r (array_column debug_backtrace()、“文件”);

同样地,您可以用不同的键替换文件,只是为了查看该数据。

var_dump(debug_backtrace());

这是你想要的吗?

Walltearer的解决方案非常出色,特别是如果包含在'pre'标签中:

<pre>
<?php debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); ?>
</pre>

-它将调用放在单独的行上,整齐地编号

debug_backtrace ()