PHP调试:从基础到实战
1. 异常处理与日志收集
在PHP开发中,每个异常都会抛出错误。在调试时,“导出日志”和“打开日志”按钮尤为重要。这些功能可以将所有异常收集到一个文本文件或屏幕窗口中。
如果你认为错误是PHPEclipse或Eclipse的一个bug,可收集日志中的信息并发布到相应项目的bug论坛。在收集异常之前,务必使用“错误日志”视图工具栏中的“删除日志”按钮清除所有现有条目。这样,当你重现错误时,随报告发送的日志将不包含与该bug无关的错误。
2. 调试器的使用
点击“调试”按钮,即可启动调试会话。Eclipse会自动切换到“调试”透视图。应用程序开始执行,但会在第五行停止,因为我们通过断点设置了停止位置。在继续操作之前,先来了解一下“调试”透视图中的各个视图。
2.1 调试视图(Debug View)
调试视图能让我们清楚了解应用程序的运行情况,主要告知我们在特定断点处应用程序正在执行的函数。其组织方式是从最宽泛的范围到最具体的内容。第一行的“项目”名称取自调试配置的名称,“调试目标”是运行线程的容器。由于PHP是单线程语言,任何时候只有一个“主线程”在执行。该线程执行的函数帧会以调用栈的形式显示。
- 帧和调用栈 :当调用一个函数或方法时,系统会分配一定的内存来存储变量并执行该函数的工作,这块内存称为帧。如果一个函数调用另一个函数,会创建第二个帧并堆叠在第一个帧之上。第二个帧执行完成后会从栈中移除,然后第一个帧继续执行。如果调用更多函数,它们会被放置在调用栈的顶部。
- 调试视图的操作按钮 :
|