LINUX.ORG.RU

Ответ на: комментарий от reprimand

Способы отладки бывают разные.Хотелось бы знать кто из продвинутых какой выбрал и почему.

Oaks
() автор топика

geben

добивайся, чтобы приложение «еще валилось сразу со страшным треском на этапе компиляции», подключи php code sniffer в режиме «на лету»

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

anonymous
()
Ответ на: комментарий от Oaks

Хотелось бы знать кто из продвинутых какой выбрал и почему.

Использую в основном «echo-дебаг». Для профилирования — xhprof, реже — xdebug (его на продакшн не поставишь, снижает скорость PHP почти на порядок даже когда выключен, только одним подключением .so)

Баловался с пошаговым исполнением в xdebug+Eclipse, но на практике на такую отладку уходит больше времени, чем на echo-debug. Поэтому забил.

KRoN73 ★★★★★
()
Ответ на: комментарий от risenshnobel

Обычно var_dump-а хватает.

echo, var_dump, print_r — в зависимости от условий.

Ещё у меня с недавних пор весьма востребован https://github.com/digitalnature/php-ref

Также в копилку (свои плюсы есть и все ставятся через Composer):
https://github.com/nicolas-grekas/Patchwork-Dumper
https://github.com/aronduby/dump
https://github.com/barbushin/php-console

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

гм, кошмар какой, если хоть одно ide поддерживает Quercus то можно поробовать его заюзать, хотя это и изврат

Deleted
()
Ответ на: комментарий от Deleted

если хоть одно ide поддерживает Quercus то можно поробовать его заюзать, хотя это и изврат

Это не просто изврат. Это изврат в квадрате. Всё равно что PHP-скрипт на обычном PHP отлаживать через отладчик для Си :)

Нет, если реально припрёт и потребуется пошаговая отладка, то xdebug + eclipse (или другой редактор с поддержкой PHP и пошаговой отладкой по dbg-протоколу — их вагон, начиная от vim) — это нормально. Но реально телодвижений приходится делать намного больше, чем при echo-отладке. Пошаговая отладка может быть незаменима только при совсем кривой архитектуре приложения. На PHP у меня таких сейчас нет :) Вот когда на Java работал со сторонним проектом — там из Eclipse не вылезал... А у себя и на Си++ я чаще пользовался printf-отладкой, чем полноценным отладчиком как только время компиляции и запуска стало меньше запуска отладчика и перехода к нужному окружению (где-то во времена 80486-х).

KRoN73 ★★★★★
()

action: tool

make server (optional): kvm

instal php with xdebug support and rtfm: emerge php...

connect (optional): ssh

tmux attach (optional): tmux attach

anonymous
()
Ответ на: комментарий от KRoN73

Всё равно что PHP-скрипт на обычном PHP отлаживать через отладчик для Си :)

кстати:

strace, gdb

anonymous
()

в vim повесил на команду макрос, который из
$qwe
седлает вот так:
error_log(print_r($qwe,1),3,'/home/qwe/error.log');

в том-же vim переопределил сворачивание на более которокую комбинацию,
так что километровые объекты друпала дебажить - самое то

q11q11 ★★★★★
()
Последнее исправление: q11q11 (всего исправлений: 1)
Ответ на: комментарий от q11q11

error_log(print_r($qwe,1),3,'/home/qwe/error.log');

Напиши нормальную функцию, чтобы не заморачиваться обёртками. У меня, например, сейчас это будет: bors_debug::syslog('error', $qwe);. Соответственно, логгирование можно централизованно, не перепахивая код, переводить в нужный каталог, менять глубину и степень трассировки (пишется и трейс вызова, и системные переменные, переменные вызова, идентификатор пользователя и т.п.), переключать часть вызовов, скажем, на HipChat вместо файлов, чтобы индицировать о чём-то критическом удалённо и т.д. В принципе, сейчас родили вообще PSR-стандарт на PHP-логгинг, но всё руки не доходят переписать, моя система куда древнее :)

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

О какой компиляции идет речь, если php интерпретируемый язык

duck
()
11 мая 2016 г.

можно псих-шеллом, например. но самая пацанская отладка все равно чисто логгированием

Debasher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.