Як налагодити плагін за допомогою Xdebug?


12

Мені вдалося досить легко встановити та налаштувати NetBeans 6.9.1 та Xdebug у моєму локальному середовищі на основі PHP 5.3.0 (XAMPP).

Моя проблема зараз полягає в наступному: якщо я поставив точку перелому на Wordpress's index.php або інші основні файли PHP Wordpress, NetBeans правильно зупиняється на бажаному положенні. Якщо замість цього я поставив точку розриву на файл плагіна, тригер виконання коду NetBeans не зупиняється на цьому.

Ви знаєте, як можна вирішити?

ОНОВЛЕННЯ: Більше інформації про те, що я намагаюся налагодити

Плагін називається Vanilla Forums і має таку структуру файлів:

- plugins
  - vanilla-forums
    + assets
    + nbproject
    + templates
      admin.php
      embed.php
      functions.php
      hooks.php
      plugin.php
      sso.php
      widgets.php

Я встановлюю точку розриву всередині функції, названої vf_validate_optionsв functions.php. Я впевнений, що ця функція виконується, але NetBeans там не ламається.


Якщо ви ставите throw new Exception('die');заяву після рядка точки перерви, то вона зупиняється (у сенсі, що це вбиває / закінчує ваш запит)?
хакре

@hakre Так, це викидає виняток (я впевнений, що виконано код, де встановлено точку розриву)
Drake

1
@Drake: Цей код виконується на головній сторінці або у виклику Ajax? Я вважаю, що налагоджувач Xdebug повинен бути включений за допомогою деяких змінних GET або POST, а потім встановлює файли cookie, можливо, це не ввімкнено для запиту Ajax?
Ян Фабрі

1
У мене точно така ж проблема, і досі не можу знайти виправлення! Я використовую nusphere phped, але я спробував Eclipse теж без результатів! Єдиний файл, який зупиняє xdebug на точці розриву, - це файли wordpress "core". Ні php-файл теми не може бути виданим! Повідомте мене, якщо ви знайдете рішення, я
написав

1
Я думаю, що Ян Фабрі вирішив рішення. Я вважаю за краще використовувати плагін Firefox EasyXdebug , який додасть XDEBUG_SESSION_STARTпараметр запиту до всіх запитів.
Джефф Стілер

Відповіді:




0

Привіт @Drake:

Дурне запитання, я знаю, але ви "активували" плагін? Ось де я вимикаюсь, коли плагіни не налагоджуються.


Так, плагін активований. Що я намагаюся налагоджувати - це триггер функції меню, створеним самою плагіном у адміністраторській області.
Дрейк

@Drake - Що таке "тригер функції"? Чи можете ви опублікувати свій код як оновлення свого питання?
MikeSchinkel

0

немає можливості налагоджувати файли плагіна. Єдиний спосіб, який я знайшов для налагодження wordpress, - це використовувати phus nusphere, який, на жаль, не є безкоштовним. Мабуть, єдиний з них може це зробити, я не знаю, чому, але я витрачаю дуже довго на роздуми, як налагодити сітки та затемнення ... без результатів!


-3

Ну, оскільки WordPress сам пропонує WP_DEBUG, і wp_die($msg)... навіщо вам налагоджувати Xdebug? Якщо ви не будуєте свій плагін за допомогою фреймворку?


xdebug пропонує безліч інструментів, які WP_DEBUG та вихідні дані не роблять - профілювання та перегляд коду для початку ...
boisvert

Погодився, в той час я мав дуже мало знань щодо Xdebug.
adrian7
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.