Средства отладки кода PHP: как быстрее искать и исправлять ошибки
Primary tabs
Включение отображения ошибок
Используйте ту информацию что интерпретатор даёт автоматически:
- Прежде всего включите отображение вообще всех ошибок и предупреждений на тестовой машине и на машине, которую вы используете для разработки.
- Вникайте в смысл сообщения об ошибке (переведите его) - часто одно это помогает понять проблему.
Ниже рассмотрим советы для более сложных ситуаций.
Процесс отладки
В этом разделе советы, которые помогут вам понять что именно приводит к возникновению ошибки или неверному результату.
Без отладчика (просто модифицируем код):
- Используйте echo() и print_r() для вывода промежуточных данных.
- Изменяйте промежуточные данные, делайте их фиксированными (если они формируется "на ходу" - динамически), искусственно упрощайте ситуацию, чтобы понять что не так.
- Отлаживайте разные части программы, например на предмет того "доходит ли вообще интерпретатор сюда" (для этого, например, можно просто смещать вызов "echo(123)" все ниже по коду, пока результат не перестанет выводится).
C отладчиком (в некоторых случаях более удобный и продвинутый вариант, который в любом случае должен быть у вас под рукой, даже если вы не всегда его используете):
- Используйте xdebug, чтобы выполнять программу пошагово и останавливать код на нужных строках и просматривать значения переменных в момент остановки в IDE.
ПРИМЕЧАНИЕ: xdebug стоит включить даже просто для вывода стека вызовов при наличии ошибки.
Исправление ошибки в конкретной строке
Когда уже известно в какой строке ошибка (номер строки обычно всегда указывается в сообщении об ошибке):
- Можно разбить достаточно сложную строку на несколько, если непонятно где именно в ней ошибка.
- Log in to post comments
- 2682 reads