Отладка исходного PHP кода в NetBeans IDE

Отладка исходного PHP кода в NetBeansВ этой статье я расскажу про отладку исходного php кода в NetBeans IDE. Отладка (или трассировка) исходного кода — это очень полезная и в некоторых случаях просто незаменимая вещь. Когда ты создаешь свой модуль, пишешь свой php движок, или разбираешься в чужих модулях или программах, зачастую, чтобы найти ошибку в исходного коде, без отладки бывает просто не обойтись.

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

Перед тем, как начать отладку исходного кода в NetBeans, нужно  установить и настроить Xdebug на локальном сервере.

После установки Xdebug можно настроить среду программирования NetBeans IDE.

Первое, с чего нужно начать — это с настроек проекта в NetBeans. Щелкните по названию проекта в браузере проектов правой кнопкой мыши и откройте его свойства. В открывшемся окне, слева, в списке категорий выберите пункт «выполнить настройку»:

Настройка отладки php кода в NetBeans

В поле «URL-адрес проекта» наберите адрес вашего проекта на локальном сервере. В этой статье рассматривается отладка PHP скриптов, размещенных на локальном сервере. В поле «Файл индекса» выберите файл, с которого вы бы хотели начать отладку проекта. В PHP движках это обычно index.php. Далее, слева в списке выберите пункт «Браузер». Выберите браузер, в котором вы будете отлаживать ваш PHP проект. Я обычно оставляю в этом поле браузер по умолчанию. Нажмите «ОК».

Зайдите в меню сервис->параметры, перейдите к пункту PHP и выберите вкладку «Отладка»:

Настройка отладки в NetBeans

Поставьте галочку у пункта «Наблюдения и оценка во всплывающем окне». В последствии вы можете убрать галку у пункта «Остановиться в первой строке», так как часто она мешает, особенно при отладке больших проектов.

Все, теперь можно запускать отладку PHP скриптов, нажмите «Отладка проекта» на панели инструментов, или нажмите комбинацию клавиш Ctrl+F5.

Отладка PHP кода в NetBeans

После этого в среде программирования откроется отлаживаемый файл скрипта. Если вы не убрали галочку «Остановиться в первой строке», выполнение отлаживаемого скрипта остановится на первой строке и она будет подсвечена зеленым цветом.

После остановки скрипта вы можете выполнять его далее, пошагово, нажимая клавиши F7 или F8.

При остановке скрипта, вы можете наблюдать значения переменных в окне «Переменные» (см. скриншот выше). Кроме окна «Переменные» в режиме отладки есть окно «Стек вызовов» и «Точки останова».

При отладке вы можете смотреть содержимое переменных или вычислять выражения. При остановке скрипта в определенной точке выполнения выделите нужную переменную или участок кода и наведите на него мышкой, вы увидите значение этой переменной, или выражения (если оно к этому времени уже определено). Так же вы можете добавлять желаемые переменные или выражения в окно «Переменные» для дальнейшего просмотра их результата. Для этого выделите нужный участок кода, или переменную, нажмите на ней правой кнопкой мыши и в появившемся контекстном меню выберите «Создать наблюдение», либо нажмите Ctrl+shift+f7. После эта переменная (или выражение) появится в окне «Переменные» и по ходу отладки можно будет смотреть как изменяется ее значение.

Для остановки скрипта в нужный момент времени вы можете создать точку останова или «breakpoint». Добавьте точку останова в любую часть отлаживаемого скрипта, для этого щелкните левой кнопкой мыши напротив той строки, где вы хотите остановить скрипт, левее нее, где отображается нумерация строк. После этого строка должна быть подсвечена красным цветом:

Отладка исходного PHP кода в Netbeans. Точки останова

Поставив точку останова, запустите скрипт или продолжите отладку, нажав Ctrl-F5 для запуска или F5 для продолжения выполнения скрипта. Скрипт должен остановиться на созданной вами точке останова. После остановки скрипта вы можете выполнять его пошагово, нажимая клавиши F7 или F8.

Часто отлаживаемый код бывает слишком большим и выполнять его пошагово, включая все циклы и условия, слишком муторно и долго. Чтобы этого избежать, можно «прыгать» от одного участка кода к другому, избегая те участки кода, отладка которых вам не нужна. Для этого нам пригодятся несколько точек останова. Например у вас в скрипте есть цикл, выполнять пошагово который придется долго, вам нужно пропустить этот участок кода с циклом и продолжить отладку дальше. Для этого нужно поставить одну точку останова перед циклом, а другую на участке кода ниже этого цикла. При остановке скрипта на первой точке останова нажмите «Продолжить» (зеленый кружок на панели отладки), либо F5, тогда скрипт продолжит свою работу, перепрыгнув участок кода между двумя точками останова, то есть выполнит цикл, и опять прервет свою работу на второй точке останова, которая была установлена после цикла. Таким способом можно эффективно отлаживать код скрипта, пропуская ненужные участки кода и останавливать выполнение скрипта в нужных местах. Вы можете поставить несколько точек останова в разных частях одного скрипта.

Что делать, если отладка PHP кода в NetBeans не работает?

Если у вас не ловятся точки останова, еще раз убедитесь, что xdebug правильно установлен и настроен.

Далее зайдите в сервис->параметры->PHP->отладка, поставьте галочку у пункта «Останавливаться в первой строке». Запустите отладку. Если выполнение скрипта не остановилось на первой строке и в нижней части программы отображается надпись «ожидание подключение xdebug», то возможная причина может быть в том, что порт xdebug (по умолчанию 9000) занят какой то другой программой. Убедитесь в том, что 9000 порт не занят другой программой, или измените порт xdebug по умолчанию в настройках php.ini и укажите его в настройках NetBeans:

Отладка исходного PHP кода в Netbeans. Настройка отладчика Xdebug

Убедитесь в том, что ваш локальный веб-сервер правильно настроен и включен.

Комментарии: 2 к “Отладка исходного PHP кода в NetBeans IDE”

Добавить комментарий

Ваш адрес email не будет опубликован.