Налагодження вихідного коду php в ide netbeans для редактора php

підготовка

How PHP Debugging with XDebug Works in IDE NetBeans

When you run XDebug from IDE NetBeans, PHP program execution pauses at every line where you set a breakpoint. Коли виконання програми встановлено на паузу, XDebug може отримати інформацію про поточний стан програми, таку, як значення змінних програми. Фактично це означає наступну послідовність виконуваних дій:

  1. Встановіть точку зупинки в кожному рядку, на якій виконання вихідного коду PHP має призупинитися.
  2. Почніть сеанс налагодження.
  3. Коли досягнута рядок з точкою зупинки, виконуйте сценарій по одному рядку, натискаючи F7 і F8. Відстежуйте стан додатки в вікнах отладчика.
  4. Закрийте сеанс налагодження.

For a detailed workflow of using XDebug with IDE NetBeans, see Debugging Session.

параметри налагодження

Параметри IDE NetBeans включають вкладку для зміни певних параметрів за замовчуванням для налагодження PHP. Щоб відкрити ці параметри, зайдіть в Tools ( "Засоби")> Options ( "Параметри") (NetBeans> Preferences ( "Налаштування") на Mac), виберіть параметри PHP, після чого виберіть вкладку Debugging ( "Налагодження").

Примітка. Вкладка 'Налагодження' була реалізована в IDE NetBeans версії 7.1. У більш ранніх версіях NetBeans на вкладці 'Загальні' PHP є параметри налагодження. Не всі параметри версії 7.1 доступні в попередніх версіях.

Налагодження вихідного коду php в ide netbeans для редактора php

У даній панелі можна змінити наступні параметри:

Примітка. Задайте output_buffering = Off в використовуваному файлі php.ini. інакше висновки сценаріїв будуть з'являтися у вікні виводу з затримкою.

В рамках даного навчального курсу немає необхідності міняти будь-які з цих параметрів. При бажанні це можна зробити для включення точок спостереження.

Використання панелі інструментів відладчика

Панель інструментів надає можливості виконання наступних дій:

Установка точок зупину

Точки зупинки, встановлені в файлах, вказують позицію, в якій відладчик повинен перервати виконання коду.

Важливо! Для використання XDebug в коді PHP необхідно встановити точки зупину.

Щоб видалити точку зупинки, клацніть маркер точки зупинки ().

Також можна тимчасово відключити точки зупину. Для цього клацніть правою кнопкою миші значок точки зупину і зніміть виділення з 'Точка зупинки'> ✔'Включено '. Виконується перемикання точки зупину у відключене стан, після чого маркер виділяється сірим () і відображається на лівому полі.

вікна відладчика

Всі вікна налагодження можна викликати з середовища IDE шляхом вибору "Window> Debugging". Після активації сеансу налагодження можна перейти в вікна налагодження.

Налагодження вихідного коду php в ide netbeans для редактора php

Вікно "Sessions"

У вікні "Sessions" відображаються сеанси налагодження, активні в даний момент. При запуску сеансу налагодження PHP запис для відладчика PHP можна побачити у вікні Sessions ( "Сеанси").

Налагодження вихідного коду php в ide netbeans для редактора php

IDE NetBeans також дозволяє запускати одночасно кілька сеансів отладчиков. Наприклад, можна одночасно налагоджувати проект Java і проект PHP. В даному випадку можна визначити два сеанси, перерахованих в вікні Sessions ( "Сеанси").

Налагодження вихідного коду php в ide netbeans для редактора php

Поточний сеанс (тобто сеанс, яким можна керувати за допомогою панелі інструментів відладчика) відзначений більш помітним значком (). Для перемикання сеансів двічі клацніть сеанс, який необхідно зробити поточним або клацніть правою кнопкою миші сеанс, який не є поточним і виберіть 'Зробити поточним'.

Примітка. Рекомендується скористатися перемиканням сеансів, якщо поточний сеанс відкладений.

Також можна натиснути правою кнопкою миші спливаюче вікно для завершення сеансу (клацніть правою кнопкою миші і виберіть 'Завершити') або перейдіть між налагодженням поточного потоку або всіх потоків в сеансі (клацніть правою кнопкою миші і виберіть 'Область'> 'Налагодження всіх потоків' або 'Налагодження поточного потоку').

Вікно "Variables"

Коли робота відладчика припинена, у вікні Variables ( "Змінні") відображаються змінні поточного об'єкта window для обраного кадру стека викликів. Вузол відображається для кожної змінної в поточному вікні. Суперглобальні змінні групуються в окремому вузлі.

Налагодження вихідного коду php в ide netbeans для редактора php

У міру просування по коду значення деяких локальних змінних може змінюватися. Такі локальні змінні в вікні "Local variables" відображаються напівжирним шрифтом. Також можна клацнути безпосередньо стовпець "Value" і вручну змінити значення змінної.

Вікно "Watches"

Установка точок спостереження порушує стабільну роботу XDebug і не рекомендується. За замовчуванням точки спостереження відключені. Однак, якщо точки спостереження все ж потрібно встановити, см. Використання додаткових точок спостереження.

Вікно "Call Stack"

Можна двічі клацнути кадр стека викликів, щоб вибрати його, а потім розглянути значення змінних або виразів для даного кадру у вікнах Variables ( "Змінні") і Watches ( "Точки спостереження").

Вікно "Threads"

Вікно Threads ( "Потоки") вказує, який сценарій PHP активний в даний момент і виконується він, або знаходиться на точці зупинки. Якщо сценарій запускається, необхідно перейти у вікно браузера для взаємодії з ним.

Вікно "Sources"

У вікні "Sources" відображаються всі файли і сценарії, завантажені для сеансу налагодження. На даний момент вікно Sources ( "Тексти програм") не працює для проектів PHP.

Вікно "Breakpoints"

Налагодження вихідного коду php в ide netbeans для редактора php

З вікна Breakpoints можна ввімкнути або вимкнути точки зупину у вікні Context ( "Контекст"). Також можна створювати групи точок зупину.

сеанс налагодження

Наступна процедура являє собою послідовність виконуваних дій в типовому сеансі налагодження.

Тепер протягом налагодження можна виконати додаткову перевірку.

  • Для пропуску порядкового виконання коду в функції отримаєте повернене цією функцією значення, перейдіть до наступного рядка після виклику функції і натисніть F8 або виберіть "Debug> Step Over".
  • Для пропуску порядкового виконання коду в функції отримаєте повернене цією функцією значення, перейдіть до наступного рядка після виклику функції і натисніть F8 або виберіть "Debug> Step Over".
  • Щоб призупинити сеанс налагодження виберіть "Debug> Pause".
  • Щоб продовжити розмову налагодження виберіть "Debug> Continue" ..
  • Для скасування сеансу налагодження натисніть.
  • Після завершення програми вікна налагодження закриваються.

    Приклад сеансу налагодження

    Використання додаткових спостережуваних виразів

    З метою подальшого виконання програми можна визначити додаткове спостерігається вираз. Це може сприяти виявленню помилок.

    Увага! Налаштування додаткових точок спостереження порушує стабільну роботу XDebug. За замовчуванням точки спостереження відключені в параметрах налагодження.

    1. Оновлення код, як показано нижче (замініть знак "плюс" на знак "мінус"): Можна припустити, що це наслідок неправильного написання коду, але фактично потрібно ще раз підрахувати суму.
    2. Виберіть 'Налагодження'> 'Створити спостереження' або натисніть Ctrl / ⌘-shift-F7. Відкриється вікно "New Watch".
    3. Введіть такий вираз і натисніть "ОК". Нове вираз з'явиться у вікні "Watches".
    4. Запустіть сеанс налагодження. Після зупинки відладчика зупиниться в зазначеному рядку: порівняйте значення виразу у вікні "Watches" зі значенням $ result у вікні "Local Variables". Ці значення повинні співпадати, але вони різні.
      Налагодження вихідного коду php в ide netbeans для редактора php
    Цей приклад є простим, проте дозволяє отримати певне уявлення про використання спостережуваних виразів.

    Використання поєднання PHP і HTML

    Можна виконати налагодження коду, що містить одночасно блоки на мовах HTML і PHP. У прикладі з розділу Приклад сеансу налагодження значення жорстко запрограмовані. Розширте код шляхом додавання форми введення HTML для введення значень.
    1. Додайте наступний код HTML над блоком