我正在尝试使用Zend Framework应用程序和Xdebug进行交互式调试,使用MacGDPp作为客户端调试器。我正在设置断点并遇到一些问题,希望
有人可以解决我的具体问题
有人可以给我一个关于如何工作的高级概述,以便我自己追踪问题
MacGDPp可以选择在发出请求时立即启动调试器。这有效。我加载了一个Zend应用程序的页面,执行停止在Zend index.php文件的第一行。
但是,如果我尝试在MacGDPp中设置一个控制点或phtml模板文件的断点,则执行不会在这些断点处停止。
在Zend之外,如果我设置一个带有单个需求的简单页面,我可以在所需文件中成功设置断点。
File: test.php
<?php
echo "One <br>";
echo "Two <br>";
echo "Three <br>";
echo "Four <br>";
echo "Five <br>";
echo "Six <br>";
echo "Seven <br>";
echo "Eight <br>";
echo "Nine <br>";
echo "Ten <br>";
require_once('test2.php');
File: test2.php
<?php
echo "Eight <br>";
echo "Five <br>";
echo "Four <br>";
echo "Nine <br>";
echo "One <br>";
echo "Seven <br>";
echo "Six <br>";
echo "Ten <br>";
echo "Three <br>";
echo "Two <br>";
所以,我对如何继续有点不知所措。我不知道我的客户端是否设置了断点错误,或者是否有关于Zend的自动加载/实例化模式的内容,以防止任何交互式调试器知道如何连接我从文件系统中选择的文件“远程“(localhost)我已执行的URL。
如果有人有关于远程PHP调试器如何工作的解决方案和/或一些指示,我会很感激。
答案 0 :(得分:4)
神圣的废话 - 我把头发拉出来 - XAMPP 1.7.1(php 5.2.9)带有记事本++,而Xdebug并没有在断点停留(只在xdebug_break()
行)。这是因为如果将断点放在空行上,哑调试器不会中断!伙计,我希望它在手册的某处说。哦是的,我忘了;没有手册...
答案 1 :(得分:2)
原来我在空行上设置了断点,MacGDPp跳过这些。