2013-08-03 2 views
2

Я новичок в xdebug, используя magento. Когда я помещаю точку прерывания на первой строке, она ломается на index.php и продолжается нормально. Но когда я хочу проверить функцию входа в систему или навигацию по меню, я помещаю точки разрыва в «класс Mage_Page_Block_Html_Topmenu extends Mage_Core_Block_Template», но он не останавливался здесь и не продолжал. Так точно, где я должен держать точки останова? Нужно ли добавлять точки в .phtml-файлы? Я не уверен, где я должен поместить. Так может ли кто-нибудь помочь мне в отладке с пурпурной.Как отлаживать magento-файлы с помощью Xdebug в eclipse

+0

Не следует различать, в каком файле вы помещаете точку останова. Xdebug можно использовать в каждом файле, где выполняется PHP-код. Я думаю, что что-то не так с вашей конфигурацией xdebug или код с вашей точкой останова не был выполнен. Попытайтесь поместить его в свой index.php самостоятельно, если он запущен. –

+0

@SimonH Если я помещаю точку прерывания в index.php, выполнение кода останавливается в этой точке и продолжается, когда я нажимаю только кнопку F5. Он работает до index.php и продолжается до mage.php. После завершения отладки. –

+0

Похоже, что xdebug настроен правильно. Для пользователей без затмения: F5 предназначен для ввода. Вы должны увидеть еще несколько файлов, если не получите исключения. Что отображает ваш браузер после завершения дебонирования? –

ответ

2

Прошу прощения за этот ответ, если вы просто хотите использовать xdebug!

У вас не будет большого успеха с xdebug, потому что с моей точки зрения он работает медленно. Я бы рекомендовал использовать

Mage::log($var) или Mage::logException($var)

и просто сделать

tail -f on var/log/system.log или tail -f on var/log/exception.log.

На занятиях Varien_Object вы можете использовать что-то наподобие Mage::log($product->debug()), чтобы дать уменьшенный выход журнала. Как вы, возможно, знаете, что позиция в коде, где вы хотите отлаживать это, может быть, лучшая практика.

Убедитесь, что у вас есть выход для отладки в Magento.

+0

так что мы отлаживаем наше приложение magento с помощью eclipse? –

+0

Конечно, вы можете. На всякий случай исключение бросает его пойманный обработчик Exception Magento. Но это имеет мало смысла, поскольку вы никогда не будете проходить через поток фреймов, но отлаживаете его в определенном классе или файле. Итак, Mage :: log более чем достаточно и намного быстрее. –

+0

Да, xdebug значительно замедляет ваше приложение. Но он может быть настроен так, чтобы быть активным только при необходимости, используя 'xdebug.profiler_enable_trigger = 1' в php.ini. Я не использую eclipse, поэтому не могу сказать, можно ли его использовать. –

Смежные вопросы