Интерактивная отладка и точки останова с помощью Xdebug и Zend Framework - PullRequest
2 голосов
/ 19 ноября 2009

Я пытаюсь заставить интерактивную отладку работать с приложением Zend Framework и Xdebug, используя MacGDPp в качестве отладчика клиента. У меня проблемы с установкой точек останова, и я надеялся

  1. Кто-то может решить мою конкретную проблему

  2. Кто-то может дать мне общее представление о том, как это должно работать, чтобы я сам мог отследить проблему

MacGDPp имеет возможность сразу же запускать отладчик при каждом запросе. Это работает. Я загружаю страницу приложения Zend, и выполнение останавливается в первой строке файла Zend index.php.

Однако, если я попытаюсь установить точку останова в MacGDPp в виде файла шаблона Controller или 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 ]

4 голосов
/ 08 декабря 2009

Святое дерьмо - я вырывал свои волосы - XAMPP 1.7.1 (php 5.2.9) с блокнотом ++, и Xdebug не останавливался на точках останова (только на линиях xdebug_break()). Это потому, что тупой отладчик не сломается, если вы поставите точку останова на пустой строке! Человек, я бы хотел, чтобы это было сказано где-то в руководстве. Ах да, я забыл; нет руководства ...

2 голосов
/ 20 ноября 2009

Оказывается, я устанавливал точки останова на пустых строках, и MacGDPp пропускает их.

...