2

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

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

  2. 有人可以给我一个关于这应该如何工作的高级概述,这样我就可以自己找出问题所在

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 的自动加载/实例化模式是否存在某些问题,它会阻止任何交互式调试器知道如何使用“远程”(本地主机)URL 连接我从文件系统中选择的文件已经执行了。

如果有人对远程 PHP 调试器的工作方式有解决方案和/或一些指示,我将不胜感激。

4

2 回答 2

4

废话——我把头发拉出来了——带有notepad ++的XAMPP 1.7.1(php 5.2.9)和Xdebug并没有在断点处停止(仅在行处xdebug_break())。这是因为如果您将断点放在空白行上,愚蠢的调试器不会中断!伙计,我希望它在手册的某个地方这么说。哦,是的,我忘了;没有说明书...

于 2009-12-07T23:15:25.530 回答
2

结果我在空白行上设置了断点,而 MacGDPp 跳过了这些断点。

于 2009-11-19T22:33:02.990 回答