PHP отладчик в Human Emulator Studio

PHP отладчик в Human Emulator Studio

Одним из полезных инструментов, который был добавлен в Human Emulator Studio, является отладчик для PHP скриптов. Это полезный инструмент, который существенно упрощает разработку скриптов, но, к сожалению, не все наши клиенты понимают, что это такое, как это работает и для чего это нужно. В этой статье мы постараемся ответить на все эти вопросы.

Что такое PHP отладчик?

PHP отладчик это инструмент, который позволяет пошагово выполнять скрипт и смотреть что происходит на каждом шагу его работы. Смотреть что происходит это значит видеть как меняются переменные, массивы, как выполняются команды работы с браузером. Таким образом, это даёт нам возможность проверить выполнение нашего кода и обнаружить ошибки.

Отладчик состоит из:

  • Точки Останова
  • Кнопок и меню управления
  • Панель Быстрого просмотра
  • Панель Стэка Вызовов.
Точка Останова в скрипте
Точка Останова в скрипте

Точка Останова — фактически это отметка в каком месте скрипта должно прерваться выполнение скрипта и программа перейдёт в режим отладки. Точка Останова выглядит как красный кружок на полях скрипта. В скрипте может быть установлено несколько точек остановы в любом месте скрипта или подключаемых файлах с дополнительными классами, функциями и т.д.

Точки останова могут убираться и добавляться в режиме работы отладчика.

Кнопки и меню управления.

Панель управления PHP отладчиком
Панель управления PHP отладчиком

Для управления точками Останова, а также выполнением дальнейших шагов после того как скрипт остановился в точке Останова в Human Emulator Studio добавлены панель инструментов и меню со следующими кнопками:

Меню выполнение
Меню выполнение

Установить/Снять точку останова (CTRL+F8) — служит для того чтобы ставить или снимать точки Останова в скрипте.
Продолжить выполнение (CTRL+ALT+F11) — продолжить выполнение скрипта.
Шаг дальше (F11) — выполняет следующую строчку кода.
Шаг внутрь (CTRL+F11) — выполняет шаг внутрь. Это значит если на следующем шагу будет выполняться функция, то отладчик зайдёт внутрь её и вы сможете по шагам пройтись по коду этой функции. В случае если была нажата клавиша Шаг дальше, то функция будет выполнена за один шаг.
Шаг наружу — прерывание отладки внутри функции и выход из неё на следующий шаг в скрипте.

В меню Точки останова есть также пункты :

Меню точки Останова
Меню точки Останова

Перейти к следующей F8 — переход к просмотру места, где находится следующая точка Останова.
Перейти к предыдущей SHFT+F8 — переход к просмотру места, где находится предыдущая точка Останова.
Очистить все ALT+F8 — удалить все точки Останова из скрипта.

С помощью данных кнопок управления вы сможете управлять процессом отладки и ходить по вашему коду везде, где это вам будут нужно.

 

 

Панель Быстрого просмотра.

Панель Быстрого просмотра
Панель Быстрого просмотра

Само по себе хождение по скрипту это хорошо, но всё-таки основная цель отладки это убедиться, что скрипт получает в нужном месте нужные значения. Для того что бы посмотреть значения переменных, массивов или объектов классов нам нужно будет воспользоваться Панелью Быстрого просмотра. Достаточно в поле Переменная добавить название интересующей нас переменной и нажать показать и мы увидим значение. Далее обновление значений в панели происходит автоматически на каждом шагу. Если нам надо посмотреть другую переменную, вводим её имя, нажимаем показать и т.д.

Панель Стэка Вызовов.

Панель Стэка Вызовов
Панель Стэка Вызовов

Понять нам откуда мы попали на точку Останова поможет панель Стэка вызовов. В панели в виде таблицы отображаются номер строки файла и его имя. Если у нас до точки Останова мы прошли через несколько подключённых файлов все эти файлы будут отображены в таблице панели Стэка Вызовов. Если скрипт простой то мы будем видеть только одну строчку в таблице, но при отладке сложных скриптов со множеством вызовов функций и подключением различных объектов классов мы сможем с помощью этой панели разобраться как скрипт попал в эту часть нашего кода.

Как работает отладчик?

В принципе из описания элементов PHP отладчика уже можно было понять как это работает, но всё таки проговорим ещё раз. Для того что бы программа перешла в режим отладки скрипта мы в интересующих нас местах расставляем точки Останова, после чего запускаем скрипт на выполнение. Как только скрипт достигает первой точки Останова он переходит в режим отладки и все элементы PHP отладчика становятся активными. С этого момента с помощью кнопок и меню управления мы можем выполнять скрип по шагам, с помощью панели Быстрого просмотра определять значения переменных на каждом шагу, а с помощью панели Стэка Вызовов определять из какого места скрипта мы попали туда, где мы находимся на каждом шагу выполнения скрипта в режиме отладки. Пока отлаживать можно только один экземпляр программы и чтобы запустить отладку во втором — нужно отключить PHP отладчик в первом.

Для чего нужен PHP отладчик?

Php отладчик, как не тавтологически это звучит, нужен нам для отладки работы скрипта. Раньше для отладки скрипта мы должны были в каждом интересующем нас месте скрипта использовать команду echo и выводить в панель отладки значения переменных прямо в процессе работы скрипта. Но в случае какой-либо ошибки, особенно в больших скриптах, приходилось наставлять много выводов echo на каждом шагу работы скрипта для того что бы понять в каком месте появляется ошибка. Опять таки, при отладке больших скриптов это занимало очень много времени и результат таких плясок с выводом в панель Отладки не всегда приводил к обнаружению места возникновения ошибки. Тогда приходилось скрипт разбивать на отдельные логические куски и проверять каждый кусок отдельно. Всё это, как не трудно понять, требовало большое количество трудочасов. С внедрением ПХП отладчика отлаживать работу скриптов на PHP в Human Emulator Studio стало легко и этот процесс теперь не занимает много времени.

Видео как работать с отладчиком PHP в Human Emulator Studio

 

PHP отладчик в Human Emulator Studio
4.8 (96%) 5 votes

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.