Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Дебаггер для ПХП? (http://www.flasher.ru/forum/showthread.php?t=113636)

wvxvw 04.07.2008 11:13

Дебаггер для ПХП?
 
Что-то тема вообще какая-то непонятная =( На сайте Зенд вообще ничего об этом нет... соотвественно, ссылок на их дебаггер там нет... в хелпе эклипса есть какя-то ссылка на их дебагер и еще на ХДебаг, но, на сколько я понял из не менее бестолкового мануала к ХДебагеру - это не самостояельная программа, а екстеншн к Зенд...
Вопрос, как, откуда взять, что искать-то хоть?..

Mnilionic 04.07.2008 15:42

а какие функции он у вас должен выполнять? (исли ХДебаг не подходит)

wvxvw 04.07.2008 21:48

А что мне с ним делать-то? в описании к нему сказано - что это дополнение к Зенд... но всего описания там может строчек 5, и те не понятно очем... А Зенд дебаггер похоже только вместе с ИДЕ можно получить... (для разового проекта не буду я его покупать...)
Т.е. имеется: плугин к эклипсу (даж целых 2) ПДТ и ПХП плугин, у первого даж в описании сказано, что умеет работать с обеими дебаггерами (т.е. можно все таки предположить, что это 2 разные программы =), но на этом история обрывается =) Теоретически, я себе представляю, что дебаггер - это должно быть приложение, типа сокета + какой-нибудь пхп файл, который нужно добавить к проекту, чтобы он контактировал с этим сокетом и высылал ему сообщения, например о том, что скрипт добрался до брейкпоинта и его нужно остановить... скачал все дистрибутивы, до каких смог добраться... нигде ничего похожего не нашел... Полазил по форумам - типичная реакция на слово "дебаггер" - "а мы крутые, нам не надо" =) Ну или, максимум, кто-то про тот же Зенд вспомнит...
Вобщем, нужна хоть какая-то информация...
ЗЫ. в том, что скачалось из дистрибутивов ХДебаг вообще исполняемых файлов нету...

А... млин, оказывается дебаггер был вместе с ПДТ плугином (Зенд)... просто почему-то с первого раза он не обнаружился... правда, дебаггер тож со странностями... посмотреть значения локальных переменных никак нельзя... или я что-то не нашел... зачем он тогда нужен? =\
Млин, кто-нибудь пожалуйста, научите им пользоваться =)

Mnilionic 05.07.2008 04:15

самый лучший дебуггер это var_dump(); :)

брэкпоинты делаются так: die('это был брекпоинт'); :)

стандартных сообщений (все) об ошибках вполне достаточно чтоб отследить их и исправить. Единственное не удобство, в сообщениях указывается точка выхода ошибки (типа скрипт index.php строка 88, чё-то там лажа) и не указывается последовательный путь запуска функций которые привели к этой ошибки. В этом помогает ХДебаг.
На коммерческий сервер вы его не установите, а у себя в локале оттебугеть вполне сможете. устанавливается как обычное расширение. Запускается при старте скрипта и подменяет обычные сообщение об ошибках.

я, правда, им не пользуюсь, а вот мой коллега в не себе от счастья :)

Сайлас 05.07.2008 12:21

От разработчиков пхп, лучшее, что есть http://www.zend.com/en/products/platform/
Зенд Студио + Зенд Платформа
Ничего лучше не существует (кстати студию лучше не на эклипсе, а версии 5.5.).
Самое сложное - настроить при установке :)

wvxvw 05.07.2008 15:00

Mnilionic:
Интересно, что ты увидишь в var_dump(), если до этого послал заголовок header("Content-type: image/jpeg") - вот и я думаю, что увидишь иконку с красным крестиком посередине (или в левом верхнем углу) а не список переменных : значений.
аналогични и с die(). для очень простых операций это подходит, для более сложных - бессмысленно.

Сайлас
Я охотно верю, что Зенд хорошая прога, но, как уже говорилось $250 мне жаль потратить на одноразовый проект =) (просто смысла делать его не будет, это примерно ожидаемая выручка =)

Ну, вобщем, ладно, дебаггер, хоть какой-то стоит, где-то даже помогает, может даже пойму как сделать так, чтобы в брейкпоинты заходил и значение нужных переменных можно было посмотреть по дороге =)

Просто... рядом сидит народ и ваяет на .НЕТ... ну и как бы завидно немножко =) у них все как у людей. поставил брейкпоинт - скрипт там и остановился =) выделил переменную, левый клик - смотришь, чего в этой переменной есть... а тут наугад млин, чтобы протестировать коротенький скрипт его нужно 150 раз запустить по 150 раз переставляя ремарки... вот и подумалось, а может кто-то это как-то уже утилизировал...

Mnilionic 05.07.2008 15:27

потому что header("Content-type: image/jpeg")
нужно отправлять непосредственно перед выводом самой картинки,
а не в начале всего скрипта, а потом удивлять "почему так неудобно"

wvxvw 05.07.2008 16:25

Да что вы ерунду всякую говорите, ей богу... ну и что будет, если я сначала выведу какую-нибудь текстовую инфу, а потом пошлю заголовки от картинки? Есстественно, картинку никто даже получать не начнет, т.как "headers allready sent".

Да и вообще, картинка это часный случай, существует еще бездна ситуаций, когда аутпут не будет выведен в браузер (и вообще, не должен туда выводится) либо будет в нечитаемом виде... и делать для каждого такого случая какие-то обходные маневры, которые по сложности иногда могут быть более наворочеными, чем сама операция - да, вот именно для того, чтобы этого не делать и нужен дебагер.

Сайлас 06.07.2008 00:10

Цитата:

Сообщение от wvxvw (Сообщение 750261)
Да что вы ерунду всякую говорите, ей богу... ну и что будет, если я сначала выведу какую-нибудь текстовую инфу, а потом пошлю заголовки от картинки? Есстественно, картинку никто даже получать не начнет, т.как "headers allready sent".

Да и вообще, картинка это часный случай, существует еще бездна ситуаций, когда аутпут не будет выведен в браузер (и вообще, не должен туда выводится) либо будет в нечитаемом виде... и делать для каждого такого случая какие-то обходные маневры, которые по сложности иногда могут быть более наворочеными, чем сама операция - да, вот именно для того, чтобы этого не делать и нужен дебагер.

Ну если вы в компании работаете, то проблема компании в 250$, а если нет, я думаю можно триал поставить на месяц :) Ну или обойти там как-нибудь. Лучше ничего не найдете.
Вообще если часто идет разработка на пхп, то помимо дебаггера еще хорошо бы написать свой error handler, который весь стэк ошибки будет выдавать.

wvxvw 06.07.2008 00:37

работаю в компании, только компания на ПХП не пишет =) Не знаю, я пока только пробую... если понравится - мб куплю... но, вообще, если честно, мне больше идея эклипса нравится... т.е. когда все редакторы в одном месте собраны...
кстати, наконец-то понял, он все таки показывает значение локальных переменных, просто не надо было кликать по ним :rolleyes: нужно было мышку навести и подождать :D


Часовой пояс GMT +4, время: 05:50.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.