用Xdebug修正PHP应用程序中的错误
清单 9. 整个跟踪 TRACE START [2007-06-06 14:04:55] 0.0003 9440 +9440 -> {main}() /var/www/catalog/t/info.php:0 0.0005 9440 +0 -> phpinfo() /var/www/catalog/t/info.php:1 >=-> TRUE >=-> 1 0.2351 9208 TRACE END [2007-06-06 14:04:55] 在这里,main() 将调用 phpinfo(),后者将返回 TRUE。当 main() 退出时,它将返回 1。接下来, 将浏览器指向 “最复杂的内容” 或系统中的其他某个 PHP 应用程序以生成更详细的跟踪。 清单 10 显示了在计算第四个斐波纳契数列时上一篇文章中的 PHP Fibonacci 生成器的跟踪: 清单 10. PHP Fibonacci 生成器跟踪 TRACE START [2007-06-06 14:17:17] 0.0004 16432 +16432 -> {main}() /var/www/catalog/t/fibonacci.php:0 0.0006 16696 +264 -> fib(''4'') /var/www/catalog/t/fibonacci.php:35 0.0007 16696 +0 -> fib(3) /var/www/catalog/t/fibonacci.php:7 0.0007 16736 +40 -> fib(2) /var/www/catalog/t/fibonacci.php:7 0.0007 16848 +112 -> fib(1) /var/www/catalog/t/fibonacci.php:7 >=> 1 0.0008 16904 +56 -> fib(0) /var/www/catalog/t/fibonacci.php:7 >=> 0 >=> 1 0.0009 16904 +0 -> fib(1) /var/www/catalog/t/fibonacci.php:7 >=> 1 >=> 2 0.0009 16904 +0 -> fib(2) /var/www/catalog/t/fibonacci.php:7 0.0009 16904 +0 -> fib(1) /var/www/catalog/t/fibonacci.php:7 >=> 1 0.0010 16904 +0 -> fib(0) /var/www/catalog/t/fibonacci.php:7 >=> 0 >=> 1 >=> 3 >=> 1 0.0011 12528 TRACE END [2007-06-06 14:17:17] 第一列显示时间,第二列是累计的内存使用量,第三列是增加的内存使用量,而第四列显示函数调用 ,包括参数。 标有 >=> 的行显示每个函数的返回值(查找相应的缩进 -> 将调用与其返回值匹配起来) 。此外,最后的 >=> 1 是 main() 的返回值。 如果使用 vim,Xdebug 的创造者 Derick Rethans 提供了专门针对 Xdebug 跟踪的一组语 法加亮提示。提示包含在 Xdebug 源代码包内的 xt.vim 文件中。对于最近的 Linux 发行版,只需将 xt.vim 复制到 $VIMRUNTIME/syntax/xt.vim 中,然后运行 vim tracefile.xt。图 4 显示了 vim 中加亮的 Fibonacci 跟踪。 图 4. Xdebug 跟踪的 vim 语法文件将使您可以轻松地进行分析 结束语 跟踪 PHP 代码中的错误可能是一项挑战。但是如果您有开发系统并且可以安装 Xdebug,那么更正这 些错误就会变得轻松得多。Xdebug 可以显示堆栈跟踪,转储甚为复杂的变量,随时间跟踪内存使用量, 并允许您在出错或崩溃时(不是如果,而是发生时)进行有效的事后分析。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |