Netbeans и XDebug для отладки Wordpress - PullRequest
0 голосов
/ 04 марта 2012

Я не могу нормально работать с Netbeans и xDebug. Отладка Acutaly работает нормально, но только с основными файлами WordPress, а не с файлами тем, которые я разрабатываю. Я искал во всем Интернете решение, и ничего не работает.

Когда я начинаю отладку, netbeans загружает мой файл index.php тем и не переходит в другие файлы, в которые я ставлю break.

Какие-нибудь решения?

Обновление: я пробовал xdebug_break (); но теперь он сломается, только если я поместу его в файл header.php. Вот стек вызовов:

файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-content/themes/whisper/header.php.xdebug_break: 79 файл: /// D: / Program% 20Files / wamp / wamp / www / wordpress / wp-content / themes / whisper / header.php.require_once: 79 файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-includes/theme.php .load_template: 1114 файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-includes/theme.php.locate_template: 1090 Файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-includes/general-template.php.get_header: 34 Файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-content/themes/whisper/home-template.php.include: 10 Файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-includes/template-loader.php.require_once: 43 Файл: /// D: /Program%20Files/wamp/wamp/www/wordpress/wp-blog-header.php.require: 16 index.php {} Основной:. 17

До того, как я отключил опцию «Остановить на первой строке», отладчик параметров показывал эту строку $content = get_the_content();, и файлы стека вызовов менялись, как будто что-то там работало, но не будет отображаться.

1 Ответ

2 голосов
/ 22 марта 2012

Это похоже на ту же проблему, с которой я столкнулся, и также не нашел решения, которое сработало.

Мне удалось решить просмотр журнала xdebug.

Установка некоторых точек останова в некоторых файлах темы (index.php и header.php) и запуск отладки. Это можно увидеть примерно так:

<- breakpoint_set -i 68 -t line -s enabled -f file:///C:/xampp/htdocs/wordpress/index.php -n 40
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="68" state="enabled" id="36480002"></response>
<- breakpoint_set -i 69 -t line -s enabled -f file:///C:/xampp/htdocs/wordpress/index.php -n 58
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="69" state="enabled" id="36480003"></response>
<- breakpoint_set -i 70 -t line -s enabled -f file:///C:/xampp/htdocs/wordpress/header.php -n 20
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="70" state="enabled" id="36480004"></response>

Обратите внимание, что он распознает точки останова в корневом каталоге WordPress вместо / wp-content / themes /.

Итак, я попытался отобразить исполнение проекта. В окне «Свойства проекта»> «Выполнить настройку»> «Дополнительно ...» в «Сопоставлении путей» указывается путь к пути сервера и проект к каталогу темы.

Запуск новой отладки, контрольные точки работали отлично.

...