Не могу заставить PHP PDT xDebug останавливаться на точках останова в Eclipse

Выбрав строку "Разорвать на первой", отладчик становится активным при вводе каждого файла, что позволяет мне входить и выходить из кода. Но немного громоздко приходится прокладывать себе путь через полмиллиона шагов, чтобы добраться до точки, где это начинает становиться интересным.

Моя установка WIMP Window 7, PHP 5.3

; xDebug config
zend_extension = "C:\Program Files (x86)\PHP\v5.3\ext\php_xdebug-2.2.1-5.3-vc9-nts.dll"

xdebug.remote_autostart=0;
xdebug.remote_enable=On 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_handler="dbgp"

Я убедился, что отображение пути правильное. Но может ли это быть из-за того, что я ссылаюсь на файлы PHP из моего проекта Eclipse?

4 ответа

Решение

После загрузки Eclipse Juno я могу остановиться на контрольных точках.

Я попробовал все с Eclipse Indigo. Версия: 3.7.2 Идентификатор сборки: M20120208-0800

Просто не будет работать ни с внутренним, ни с внешним браузером.

Думаю, пора перейти к Юноне?

Eclipse имеет возможность отключить "разрыв на первой линии". Перейдите в "Windows -> Настройки -> PHP -> Отладка" и снимите флажок "Разорвать на первой строке", а также перейдите в "Выполнить> Конфигурации отладки> PHP Web Application" и снимите флажок "Разорвать на первой строке" во всех конфигурациях. Затем перезапустите Eclipse.

Для всех тех, кто все еще борется с этой проблемой, несколько полезных советов.

Проверьте, какая версия (пакет) Eclipse у вас есть? Оказывается, что пакет Helios имеет некоторые ошибки и не останавливается на точках останова, когда вы отлаживаете приложение как Web Application, Отладка работает только, если вы запускаете ее как PHP Script, Что делает его довольно бесполезным для процесса отладки.

Вам следует либо вернуться к более старому пакету Eclipse для разработчиков Galileo для PHP, либо установить новейшую версию Eclipse Juno (или даже новейшую версию Eclipse Kepler для разработчиков), в которую не встроена поддержка PDT, но вы можете легко добавить ее, используя Help > Install New Software.. (укажите на http://download.eclipse.org/tools/pdt/updates/release).

Сообщается, что эти версии могут быть отлажены как Web Application, уважая точки останова.

Также помните, что Xdebug должен быть запущен как расширение Zend для поддержки точек останова! Другими словами удалить extension=xdebug.so (в Linux или xdebug.dll на винде) строка из вашего php.ini и заменить его на zend_extension=/full/path/to/xdebug.so (в Linux или zend_extension=X:\full\path\to\xdebug.dll на винде). Расширения Zend требуют полного пути, даже если они помещены в /php/ext папка, как обычные расширения PHP. Более подробную информацию об этом вы найдете в FAQ по Xdebug (ищите ответ на вопрос " Xdebug загружается только как расширение PHP, а не как расширение Zend ").

Вот пост, описывающий, как заставить точки останова работать с XDebug в Eclipse.

http://programmersjunk.blogspot.com/2013/05/eclipse-and-xdebug.html

Другие вопросы по тегам