使用Xdebug和Zend Framework进行交互式调试和断点

时间:2009-11-18 23:34:39

标签: php zend-framework xdebug

我正在尝试使用Zend Framework应用程序和Xdebug进行交互式调试,使用MacGDPp作为客户端调试器。我正在设置断点并遇到一些问题,希望

  1. 有人可以解决我的具体问题

  2. 有人可以给我一个关于如何工作的高级概述,以便我自己追踪问题

  3. 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调试器如何工作的解决方案和/或一些指示,我会很感激。

2 个答案:

答案 0 :(得分:4)

神圣的废话 - 我把头发拉出来 - XAMPP 1.7.1(php 5.2.9)带有记事本++,而Xdebug并没有在断点停留(只在xdebug_break()行)。这是因为如果将断点放在空行上,哑调试器不会中断!伙计,我希望它在手册的某处说。哦是的,我忘了;没有手册...

答案 1 :(得分:2)

原来我在空行上设置了断点,MacGDPp跳过这些。