Не могу заставить 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