一、查看错误信息
例如,我先写一段代码:
<?php
echo 5%0;
这样一定会出错的,因为0不能做除数。
页面上显示:
php会直接输出这个除以0的致命错误的信息。
二、直接输出法
当我们执行一个很长的过程时出现了逻辑上的错误(语法上并没有错误,这种bug比较难解决),一时没有头绪,不妨先试着输出每个过程的执行结果,看看到底哪一步的执行脱离了预想的设计。这是最直接、最低效的调试方法。
直接输出的话,可以使用二分法,即在过程的中间进行输出,看看结果对不对。如果对的话,前面的一定没错,后面的一定有错;如果不对的话,前面的一定有错,后面的不一定没错。这样一次可以排除一半的代码,尽可能地提高效率。
三、异常
如果我在程序执行过程中添加了对异常的得当处理,会大幅提升debug的效率。例如:
try{
...
}catch(Exceptoin $e){
...//如果执行过程有异常出现,则被捕获到,我们在这里可以处理
}
四、日志
日志可以记录程序的运行过程。原始的输入和处理后的输出是一定要记录在日志中的。推荐安装seaslog扩展。
五、断点调试
像PHPStorm之类的IDE一般都会有断点调试的插件,安装之后可以单步运行,并反映每一步的程序状态。