Удаленная отладка не остановится на точках останова - PullRequest
37 голосов
/ 02 марта 2010

У меня проблема с тем, что xdebug не останавливается на точках останова при использовании удаленной отладки (все нормально при запуске сценариев из командной строки) Он сломается в первой строке программы, а затем завершится, не поймав никаких точек останова.

Раньше все работало нормально, пока я не переключился на использование MacPorts для Apache и PHP. Я пытался перекомпилировать его несколько раз (с несколькими версиями), но без кубиков.

Я использую PHP 5.3.1 и Xdebug 2.1.0-beta3

Я также пробовал как минимум 3 разные программы отладки (MacGDBp, Netbeans и JetBrains Web IDE).

Мои настройки php.ini выглядят так:

[xdebug]
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=webide

И когда я записываю выходные данные отладчика, установка точки останова выглядит следующим образом /;

<- breakpoint_set -i 895 -t line -f file:///Users/WM_imac/Sites/wm/debug_test.php -n 13 -s enabled -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="895" state="enabled" id="890660002"></response>

При запуске отладчик получает контекст первой строки приложения, затем отправляет сообщения отсоединения и остановки.

Однако эта строка выводится при запуске отладчика.

<- feature_get -i 885 -n breakpoint_types -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_get" transaction_id="885" feature_name="breakpoint_types" supported="1"><![CDATA[line conditional call return exception]]></response>

Значит ли что-нибудь «исключение возврата условного вызова строки»?

Ответы [ 21 ]

0 голосов
/ 09 ноября 2011

В моем случае проблема возникала только в одном проекте (мне удалось разорвать только с помощью xdebug_break), в то время как в других проектах все работало нормально.

Исправлено редактирование файла: nbproject / private / private.properties : И установить:

copy.src.files=false

Когда я создал проект, я по ошибке выбрал опцию «копировать источники». Затем я вручную переместил проект и отредактировал его исходный путь (в файле "nbproject / project.properties"), который отладчик все еще искал старый путь (заданный в copy.src.target).

Таким образом, технически, другой способ решения этой проблемы DEBUG - воссоздать каталог nbproject (удалив его и снова создав проект). Я думаю, что отладчик должен нормально работать с включенной опцией «копировать» (так как я никогда не использую его).

Надеюсь, это поможет.

...