XDebug用法大全(一)错误调试
来源:互联网 发布:c语言判断质数 编辑:程序博客网 时间:2024/05/18 12:43
XDebug是一个开放源代码的PHP程序调试器(即一个Debug工具,可以用来跟踪,调试和分析PHP程序的运行状况。
一、堆栈化的错误调试
首先来看看Xdebug最基本的功能——堆栈化的错误调试,代码很简单,仅仅有一个名为t1的函数,函数中require了一个不存在的PHP文件
function t1(){require 'notexists.php';}t1();
执行结果如下,可以看到非常详细的错误信息。程序首先执行t1函数,然后在代码的11行抛出了一个致命错误。
二、计算脚本的执行时间和消耗的内存
如果不使用xdebug,会使用microtime函数来计算执行时间,或者通过memory_get_usage/memory_get_peak_usage函数来计算消耗的内存。安装xdebug后,可以使用xdebug_time_index和xdebug_memory_usage/xdebug_peak_memory_usage来实现。要注意的是xdebug_time_index()函数返回的是脚本从mian开始执行到xdebug_time_index函数执行消耗的时间。
代码如下:
echo "xdebug_memory_usage:".xdebug_memory_usage();echo 'xdebug_time_index:'.xdebug_time_index();$arr=array();for($i=1;$i<=10000;++$i){array_push($arr, $i);}echo "xdebug_memory_usage:".xdebug_memory_usage();echo 'xdebug_time_index:'.xdebug_time_index();while(!is_null(array_pop($arr))){}echo "xdebug_memory_usage:".xdebug_memory_usage();echo 'xdebug_time_index:'.xdebug_time_index();echo "xdebug_peak_memory_usage:".xdebug_peak_memory_usage();//显示内存峰值
这样对代码的入侵性太大了,其实xdebug提供了一个非常好的函数,xdebug_print_function_stack();该函数可以输出对函数对账跟踪的结果,使用时,直接加载在代码的尾部即可。
三、xdebug其他函数
xdebug_zval(); 输出变量的(refcount, is_ref=)信息
integer xdebug_get_stack_depth();返回调用函数的stack深度, main()为0级
0 0
- XDebug用法大全(一)错误调试
- XDebug用法大全(二)断点调试和性能分析
- xdebug调试(二)
- Xdebug错误分析与性能调试
- XDEBUG学习指南(一)
- (一)巧用xdebug
- 使用 PHPStorm 与 Xdebug 调试 Laravel (一)
- DataGridView用法大全(一)
- iis调试错误大全
- CentOS7 + Phpstorm + Xdebug本地和远程调试配置教程大全
- android 错误调试(一)
- PHP5.3 Xdebug 错误分析与性能调试
- centos7 nginx php xdebug调试出现504的错误
- python错误总结大全--(一)
- python程序调试错误(一)
- Xdebug之函数大全
- Xdebug之函数大全
- PHP 安装 Xdebug 扩展(一)
- SSH Secure Shell显示服务器Tomcat后台内容
- 11gR203 inventory 被误删后的恢复
- von mises应力和stress intensity的区别
- C# WinForm开发系列 - ADO.NET
- 机器学习 之 各种距离
- XDebug用法大全(一)错误调试
- Davinci内核镜像uImage的编译
- Dearboy's Puzzle (poj 2308 搜索 dfs+bfs)
- 使用sphinx生成美观的文档
- 新浪sae开发微信公众号所需软件的版本
- Beauty World OpenCart 主题模板 ABC-0046
- Git branch 分支与合并分支
- The connection to adb is down, and a severe error has occured.
- 与符号表分离程序或动态库, 如何用GDB调试