如何在 PHP 中转储用户定义或系统编译的函数



有没有办法转储与 PHP 中变量的print_rvar_dump相同的用户定义或系统编译函数?

例如:

dump('echo');

dump('my_function');

这样的功能会很强大。

PHP 之外的一些工具会有所帮助:调试器,如 gdb;重构工具,如 resharper/MonoDev 和一些跟踪工具,如 strace/dtrace。您还将使用一些公开内部的工具,例如 Derick 的 VLD 或 PVT,它们可以将操作码转储为可读格式,从那里开始,从中(重新)创建代码并非完全不可能。

特别是,对于商业PHP扩展和产品,如Zend Core/Platform或Zend Server,这将是一种逆向工程/反汇编技术,因为您要求从PHP内部获取C/C++扩展代码。

你不需要这种技术!

这样做的好处是一些框架,如Zend扩展了一些 函数到 PHP 全局函数,如 zend_report_statistics 和 I 想在我的调试页面中查看它们的结构,因为它们编译了 在 DLL 文件中。

除了调试之外,查看一些统计信息报告函数的内部没有真正的好处。

顺便说一下,在做dump('echo');时,你会看到的第一件事是,echo是一个语言结构,而不是一个函数。

最新更新