首页 > 编程 > PHP > 正文

调试PHP程序的多种方法介绍

2020-03-22 17:15:33
字体:
来源:转载
供稿:网友
调试的定义:通过一定方法,在程序中找到并减少缺陷的数量,从而使其能正常工作。
这里说一些如何调试PHP程序的经验。一、PHP自带的调试功能1、自带的报错功能两个名词:开发环境是开发人员在进行开发和调试的环境,生产环境是最终客户在用的线上环境;
开发环境和生产环境要分开设置报错功能。(1)开发环境开发环境需要打开报错,以下是php.ini的配置项及其说明:
http://xdebug.org/docs/。Xdebug前两个功能是对PHP原有的调试功能做了改进,更方便调试。复杂的问题,调试不出来的,可能是业务上的的问题,下面也有说业务逻辑的调试。三、调试业务逻辑错误当PHP脚本跑起来,没有任何错误,只能说它没有语法上的错误,但是不能说明它业务逻辑上没错误。很多业务逻辑的错误并不会反映在语法错误上,但调试的思路和PHP自带调试功能差不多。下面是一些方法。1、最基本的调试方法先确定两个东西:程序预期的结果、程序现在的不符合预期的结果;
寻找与两种结果相关的代码片段;
阅读这些代码片段,尝试以“肉眼”找出错误;
找不出,则需要输出一些关键变量,通过检查它们的值是否正确来判断是哪里发生了错误;
若干次尝试,最终你可以确定错误发生在哪个点。你也可以借助Xdebug等工具,查看变量值的变化,或者设置断点进行调试。2、记录运行日志有些复杂或特殊的业务,用上面的方法不合适,比如:一个不能被打断的后台运行脚本。这些情况下记录运行日志比较合适。记日志的点要有所选择,除了业务上比较重要的点,通常容易出错的地方有:网络连接和通信、系统权限问题等。3、单元测试以代码测试代码,而不是像第一点一样调试完会把测试代码丢掉。以测试驱动开发。这个话题比较大,但适合放这里提一下。有兴趣的同学可以去了解。四、调试非功能性的错误非功能性错误,比如:内存溢出导致程序挂掉了、效率有问题导致程序非常慢、死循环了等等。这些问题,用“肉眼”检查代码效率太低了。所以可以借助调试工具做程序的概要分析(Profiling),从中检查出程序的瓶颈所在。PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表