php是不是解释执行的,这个不清楚。包括C#、C++在内的编译型语言的调试器是这样工作的:
当你放入一个断点,IDE会在产生的可执行程序对应的地方放入一个Int3 调试中断,程序运行到那个位置就相当于丢出一个异常(只是这个异常其实是为了让调试器接管程序),调试器相当于异常处理程序,此时就会执行一系列代码将程序的上下文(可以视作是堆栈和堆上数据的快照)拦截下来,事先调试器会有一个调试符号表,将源代码的变量和这些程序中的上下文对应起来,并且显示。