я вообще не знаю честно что такое xdebug... запустил тесты - вся картина на экране tdd имеет свои плюсы... тесты наверно с визуальным дебагером совсем круто будет
Очень интересно, если будет время отпишись пожалуйста сюда или в ЛС Я не отрицаю xdebug, согласен, что в некоторых случаях он полезен, но все таки по прежнему остаюсь при своем мнении, что var_dump'ом большинство (причем преобладающее) вопросов решаются намного быстрее и удобнее, зачем мне отслеживать последовательность выполнения операторов? Я вывожу данные исходя из которых мне тут же эта последовательность открывается, пользовался я и xdebug, при работе с ним тратится больше времени, даже разница в минутах для меня очень существенная... Напишите мне преимущества xdebug над скажем var_dump, может быть я их просто не вижу, просто попробуйте объяснить, КАК Я СМОГУ СЭКОНОМИТЬ СВОЕ ВРЕМЯ пользуясь им, нежели просто выводом данных на экран или в лог?
Эх, вам просто не приходилось дебагать системы с сложной логикой и большим кол-вом взаимодействующих модулей. Особенно когда баг где-то в родных компонентах системы. Вставлять по 10-15 var_dump & print_r вам просто не приходилось и дебагать это дело по 1.5-2 часа. Главный плюс дебага? Вы видите ВСЁ переменные и объекты, а не только то, что вывели на экран. Сколько раз вам приходилось втыкивать по 4-5 print_r|var_dump что бы вывести ту кучу информации, которую надо. Да ещё и при этом простыня на 10-15 экранов получается. В общем кто имел дело с такими вещами - понимает. Остальные просто ещё не занимались сложными проектами. З.Ы. Работал с Zend Debugger
Psih Самое главное - это локализовать ошибку, так что тут и var_dump можно все прекрасно сделать, а зачем мне выводить кучу данных? Я прекрасно знаю, что такие то объекты отлично работают, а такие то я еще разрабатываю, соответственно только от них и смотрю данные
Откуда ты можешь это знать, если в проекте куча сторонних библиотек, которые ты ТОЧНО писать не будешь (или будешь писать видеокомпрессор под *DV?) Мы писали по моим меркам ОГРОМНЫЙ архитектурный сайт с возможностью работы с трехмерными моделями, где взаимодействовали между отдельными внутренними и внешними модулями. Было взаимодействие с флешем, внешний рендеринг, проектирование планов и т.д. Необходимо было следить за всеми данными, которые отдавались сторонними модулями, иногда приходилось дебажить объекты сторонних библиотек, чтобы понять, куда он дел переданную структуру. var_dump в этом деле - последнее, что может быть.
karlozzz можно увидеть где-нибудь твою работу? мне интересно посмотреть на сайт, который писался var_dump-ами. Скорее всего- это гостевуха типа как у vladson-а
Да не, можно вардампами дебажить, никто не спорит. Только утверждать, что это "быстрее и удобнее" - выставлять себя не очень разумным человеком. Вот тут с одной стороны те, кто может дебажить и вардампом и дебагом, а с другой - те, кто дебаг толком не использовали. Ну как последние могут о чем-то спорить, я не понимаю. Это как минимум не профессионально. Нетбинс дружится легко. 1. Фаирфокс с соответствующим расширением, постоянно включен 2. Дебаг сессия в нетбинсе постоянно включена 3. Снятая галочка "постанавливаться на первой строчке" в нетбинсе в настройках. 4. Ну и все пути, мапинг должен быть настроен, что бы нетбинс понимал какой локальный файл он дебажит. Теперь нужен дебаг - ставим в коде брейкпоинт, F5 в браузере - профит.
karlozzz Действительный член ассоциации Народных целителей Урала и Западной сибири сертификат УП-065. Профессиональный нумеролог, врач по образованию, магистр энергокосмических практик. Методика восстановления человека, разработанная в институте Монро, на основе достижений нано-технологий и не имеющая аналогов, позволяет....... ПС: а почему в ЛС? это секрет?
Посмотри по слову xdebug... их много разных было, но суть одна - они ставят куку по которой активируется xdebug.
Я в самом нетбинсе всегда нажимал "Debug", а дополнение для фаерфокса только один раз только юзал, оно было необходимо для JS дебуга внутри нетбинса. А потом удалил этот плагин, потому что JS debug кривой.
> Я в самом нетбинсе всегда нажимал "Debug" Эта ты падажди. Представляю как можно отдебажить таким образом helloworld.php, но как дебажить хоть мало-малький роутер? URI то как задавать, если "нажимать Debug"
MiksIr есть такая возможность, если в настройках проекта выставить - ask every time. Тогда такое окошко вылазит, куда вводишь адрес. Но в браузере удобнее - не надо ничего никуда копипастить - вчера убедился. Подскажи пожалуйста, а результаты никак в браузер вывести нельзя?
> если в настройках проекта выставить - ask every time жуть понимаю, почему некторые не любят дебаг > Подскажи пожалуйста, а результаты никак в браузер вывести нельзя? Результаты чего? У тебя браузер дернул php, там внутри xdebug увидел куку свою и стукнулся в IDE, та ему сказала где остановится. Пока ты висишь на брейкпоинте - ясно дело, никто ничего не выведет. Как только в нетбинсе нажимаешь "продолжить" (Run) - скрипт выполняется до конца и в браузере все то, что было бы без режима дебага. Так что я немного не понял вопрос.
MiksIr Зато я по твоему ответу понял)))) А еще подскажи пожалуйста - чтобы отследить переменную - надо добавить ей "New Watch" ?
Да, можно так. Плюс, все активные переменные в данном контексте отображаются в отдельном окне - можно там ее найти. В нормальных IDE можно просто курсор на переменную в коде навести... помнится, у нетбинса с этим были проблемы.
а брекпоинтами пользоваться не учили? дебаг запускал один раз в начале рабочего дня. если надо что-то отдебужить, ставлю брекпоинт
> а брекпоинтами пользоваться не учили? > дебаг запускал один раз в начале рабочего дня. если надо что-то отдебужить, ставлю брекпоинт И? Дебаг сессия то как стартовалась? Hint: она может стартовать только при наличии специальной куки или параметра в запросе браузера. Вот куку эту ты как ставил "без плагинов для фаирфокса"?
Да она -то стартует один раз в начале рабочего дня при помощи кнопки "Debug" при этом передается параметр XDEBUG_SESSION=bla bla bla/ если я не ошибаюсь. Так стартуется сессия. После этого можно закрыть это окно браузера, если мешает доп параметр (хотя как он может мешать кому-то я не понимаю), и открыть новое окно уже без него, дебаг все равно будет работать. Когда сессия запущена, этот параметр уже не нужет. И так эта сессия и весит до конца дня, пока комп не пора выключать. И все дебужется без кук и плагинов.