[php]Существует трассировщик для php?
навставляй кучу print'ов
Это понятно, но без трассировщика сложно всё же. Каждый раз нужные переменные выводить заипёшься
напиши функцию, которая будет выводить нужные переменные, и вызывай ее в разные моменты
Да всё это понятно, только немножко через одно место. Согласитесь, трассировать гораздо проще, если, конечно, трассировка возможна в пхп
Ставь себе Zend
Это что то типа разработчика как у С++, там и дебаг по шагам есть, и вывод переменных...
Подробнее об этом знает Yojick
ЗЫ Правда мое ИМХО относительно зенда - полный кал!
Тормозит, грузится дольше чем винда, жрет 50 Мб, иногда срубает подчистую прерывания с энтера и левой кнопки мыши.... И еще нет внопки закрыть открытый файл... Приходится все время закрывать файлы двумя кликами

Короче - полная лажа, но Ежик возможно сможет доказать обратное...
ЗЫЫ взять можно здесь:
или
Да я не в ГЗ живу. А Zend это типа от разработчиков php - название движка пхп такое же?
Толька ИМХО они лажанулись с разработкой среды программирования...
полное название - че то типа ZendStudio-3_5_2.exe
есть и четвертая, но пока только бета...
Тормозит, грузится дольше чем винда, жрет 50 МбПодтверждаю. Найти в ФДСах можно у меня:
"Трассировщики" не рулят, в образовательных целях намного полезнее находить "узкие места", в которых возможна ошибка в логике и там делать отладочный вывод.
из крупных - phpEd
но имхо Zend рулит как среда, отладчик у меня не хотел работать ни Zend (вернее поработал и сдох, хер разберёшь ни phpEd
никто и не говорит, что нужно юзать один метод. В разных случаях приходится действовать по разному.
Написан на Джаве, поэтому кроссплатформенный. и поэтому долго грузится. У Алексуса либо аура плохая, либо руки кривые, либо винда галимая, либо JRE старый, так как я ставил Зенд на 6 машин, в том числе на линуксе, и нигде описанных глюков с мышкой и энтером не наблюдалось.
Из фич: Показывает диаграмму распределения времени выполнения скрипта, так что можно увидеть, где самые медленные участки скрипта, и попробовать их оптимизировать; интегрируется с CVS; позволяет редактировать файлы на удалённых FTP-серверах так, как будто бы они лежали на твоём компе; имеет очень мощную систему дополнения кода, встроенный хелп по функциям.
Отсюда http://www.zend.com:8080/studio/ можно скачать любую версию.
на атлоне3200 с гигом оперативки не тормозит, даже на атлоне-М 1600+ с 512 памяти (на ноуте) всё ОК, хоть и под Линуксом, а может именно поэтому
У Алексуса либо аура плохая, либо руки кривые, либо винда галимая, либо JRE старый,как всегда, Еж на высоте...
обосрал и даже не подумал..
А крути не крути, но я считай баги во вселюбимом Зенде нашел...
Причем эти баги и недоработки определили для меня Зенд как полное Г...
ЗЫ С аурой все заебись, с руками тоже... Винда у меня уже полтора года XP SP1 с пастчами стоит (безглючно!)
JRE - я хер знает какой, но меня это и неебет... Ибо раз при установке зенд забил на проверку - значит это его недочет. А если проверил и признал валидной версию - значит опять же Зенд - говно....
И кроссплатформенность как раз в моем случае и показывает свою слабинку...
Лёх, ну если у тебя одного не работает - значит, проблема не в Зенде?
никакие перестановки (винду не сносил) не помогали
аура плохая?
А phpunit'ом кто-нибудь пользовался? Это сильно помогает при отладке?
и вообще, конячай препираться и разбрасываться в мой адрес плохими словами...
я же сказал еще в начале, что это мое ИМХО!
полное название - че то типа ZendStudio-3_5_2.exeЧетвертая в релизе уже вышла!
есть и четвертая, но пока только бета...
Качайте =)
Ибо Zend'овское ...... мне нах не надо.
Голова - лучший трассировщик imho

А у кого не так, увольте





Голова, конечно, лучший трассировщик. Но с Зендом скорость отладки увеличивается в разы.
print туда, print сюда и нах ни каких тормознутостей Зенда не надо

Понты типа "принт туда - принт сюда" говорят только о том, что ты не разрабатывал серьёзных систем, и не участвовал в модернизации уже разработанных. Попробуй оттрассировать методом принтов систему типа BCom, я на тебя посмотрю. К твоему сведению, есть ситуации, когда принт в принципе нельзя вставлять, например если вызов функий идёт ДО отсылки хедеров. И твой принт свалит к чертям всю систему.
Короче, кому не нравится Зенд - пишите хоть в блокноте. Мой пост был конкретным ответом на конкретный вопрос, существует ли трассировщик для php, и нечего тут holywar разводить.
вызов функий идёт ДО отсылки хедеров. И твой принт свалит к чертям всю систему.Ну и что?
Значение переменной я получу?
А мне больше ничего и не надо вообщето для того что бы понять что творится
Корян, ты не прав. Трассировщики не просто так придумали. С принтами порой ОЧЕНЬ сложно что-то отладить. В конце концов, если тебе нужно после каждого действия знать все переменные и проверить их? Вставишь 2000 принтов в исходнике из 500 строк с 4 переменными?
хотя... Трасировщики - это маза...
Но не в реализации Zend

Ты пользовался зендом хотя бы неделю? В Зенде очень удобный трассировщик.
см. выше, он у него не пашет

Ребят, простите, может я дурной какой, или я чего-то не понимаю, но при работе я либо держу весь проект в голове и поню где что делается и происходит и соответственно сразу могу сказать что привело к багу (если не очень огромный проект либо делаю так, что в написаный и отлаженный модуль я больше не залезал никогда и был а полной уверености что он обработает все данные как надо и не проглючит



не позорился бы уж =)
держу весь проект в голове и поню где что делается и происходит и соответственно сразу могу сказать что привело к багу


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



Ой, ну я не могу...

ЗЫ А если ты дорабатываешь чужой проект и в душе не е


ты мне неделю назад примерно такое же втирал

:Ну ты крут, ежели действительно так.
при работе я либо держу весь проект в голове и поню где что делается и происходит и соответственно сразу могу сказать что привело к багу (если не очень огромный проект)
У меня то ли память плохая, то ли проекты слишком большие, чтобы в голове держать

я? ты чё? если уж я использую дебаггер, значит, у меня в голове весь проект не помещается =)
весь "hello World" на классах....
При дебаггинге чужого проекта тратится максимумум 2-4 дня на мат и пляски с бубном, после этого я знаю код как свои пять пальцев... Честно.... Я не знаю о чём можно в данном треде писать в таком случае.....
Ну точно, проекты у тебя совсем небольшие.
Ну если www.realit.ru www.kokoclub.ru www.a2s.ru www.dcd.ru маленькие проекты...... Ну незнаю, а я их дебагил
Для примера могу притащить crpbcom, CRM и ERP систему, интегрированную с Call-центром, полнофункциональным почтовым веб-интерфейсом, планировщиком и т.п. Сравнишь на досуге. Могу ради интереса баг туда загнать, посмотрим, за сколько дней ты со своими принтами его найёдшь. Я вот часть этой системы писал сам, работаю с ней около года, но до сих пор многое в ней остаётся для меня тёмным лесом.
С тебя - URL, ftp, описание бага (где появлятся, и т.д). Баг должен быть один! И бага не должно быть в сторонних приложениях.
По поводу тёмного леса: я в собственном движке написанном пол-года назад щас теряюсь, и не знаю что к чему (в три четверти модулей с начала лета не заглядывал в принципе)..... Переписываю просто...
> тратится максимумум 2-4 дня ... после этого я знаю код как свои пять пальцев
и не неделя, а 2-4 дня, как сам сказал
А потом я тебе покажу, как то же самое делается за 5 минут с помощью Zend Remote Debugging
Думаю, не нужно писать и больших проектов, чтобы понять, что нормальная IDE и нормальный отладчик это вещь. А вместо этого принты вставлять это просто идиотизм.
У меня весь январь ушёл на то, чтобы разобраться с тем, ЧТО система делает, лишь изредка вникая в то, КАК она это делает. О ловле багов пока и речь не идёт

В форуме напишу как сделаю, чтоб честно было.
Кидай в четверг. 1 баг я найду.
to Dimich:
Как показатель то что написал : принтуешь в некоторый момент все переменные. Я держу в голове 3-4 процесса не вопрос. Этого хватает чтобы обходится без всяких тормозильных отладчиков....
Чесно, мне ASP.NET компилируемого хватает что бы я насладился процессом торможения и откидывания на стуле на секунд 20-30 что бы не ставить ничего поверх PhP
Еще думаю, когда приходится тратить 2-4 дня на то, чтобы разобраться в исходниках всего проекта, чтобы потом начать баги исправлять. Это означает, что того прогера, что все это гэ написал, нельзя к клаве подпускать.
Обычно для исправления бага требуется на порядок меньше времени, чем разобраться во всём проекте. Думаю, даже с помощью принтов, управится за 4 дня.
просто этих самых "прогеров" может быть много, как в моём случае, например (мы брали ядро системы из опенсорсных источников и каждый при написании модулей тянет одеяло на свою сторону, кто как привык. Естественно, разобраться в этом фактически нереально.
а как же "знаю код как 5 пальцев"?
Интересно провести эксперимент. Взять чела, который только начал прогать учится. Посадить сайты на пхп писать. Эдак лет на 5. А потом посмотреть, насколько нормально прогать он в итоге научился.
можешь этот эксперимент не ставить - я живой пример

А я не спорю. Поэтому и нужно писать, чтобы было необязательно во всем разбираться .
Да ладно. Что только на ПХП и писал? Других языков и платформ не изучал?
-хлетний
а, ну если в этом смысле - то тогда конечно я не подойду =) До ПХП я с 10 лет прогал на бэйсике, потом на паскале и на дельфях. Стыдно, но СИ не знаю совсем =(
Я на С++ прогал с 7 класса плюс ассемблер знаю, правда с трудом вспоминаю.
Щас на ASP.NET + C# пишу не вопрос. Жизнь заставит - не так раскорячишся.

1) переменных типа $aa
2) не комменченных функций и классов
3) не комменченных модулей
Если этого нету, то прости, но я не знаю что за мудак этотт кодер
у меня в коде есть некомменченные функции

у меня в коде часто встречается переменная $i
к сожалению базовые классы у меня отдокументированы сначала мной, а потом тем же Zend'ом, так что по этому параметру я не мудак =(
Отношение к нему у меня изменилось...
И совсем не в лучшую сторону!
БЛЯДЬ! НЕНАВИЖУ кога какая-нибудь хуйня лезет в МОЙ код и что-то там делает. Даже комменты.
Ты сам-то знаешь что он там пишет? Только чесно?
З.Ы. Я с зендом никогда не работал, и в глаза его не видел
Ну ты даёшь:) Зенд позволяет создавать комментарии определённого формата, очень похоже на JavaDoc. Ты считаешь, что JavaDoc - это большая ошибка? В 4-ой версии зенда появился phpDocumentor, позволяющий по таким комментариям создавать документацию в html-формате.
З.Ы. Я с зендом никогда не работал, и в глаза его не видел
Где ж ? Или Ёж уже успел его переманить? [sorry за флуд]
книгу я не читал, но .... (с)не позорился бы уж...
Да, я знаю, что вставляет Зенд в мой код.
Более того, я этим управляю.
А писать о программе, которую в глаза не видел - это просто смешно. Весомость твоего мнения для меня упала до нуля.
Но это отнюдь не мешает мне спорить на ящик пива с тобой

Хотя, если подумать, Корян реально может писать такую х-ню, о которо даже подумать страшно, держа при этом ее в голове...
По поводу нормально прогать после 5ти лет написания сайтов - я поставлю на то, что чел будет нормально прогать под написание сайтов...
А вот писать под ядро линухов он будет никак...
Коменты и всякого рода заебы в zende - отстой...
Причем отстой потому, что я еще Ежу предъявил, а хули это у меня при клике на функцию появился левый код в ней? Внятного ответа так и не получил..
ЗЫ Кстати, что то я потерял нить разговора... Ежик, давай, забейся с Коряном на пиво...
А то давно я пивка не пробовал

ЗЫЫ Блин, оффтопик... Заебалося болеть ....
ЗЫЫЫ Нах... что то меня торкает.....
Какой мне смысл доказывать тебе что-то? У нас разные пути. Разные методы. Разные масштабы. Разные взгляды на жизнь. Я вот например не могу себе позволить рассуждать о достоинствах программы, если не поработал на ней хотя бы недельку. Ты, видимо, можешь.
Ну а насчёт спора - извини, не получится, только что спросил у начальника, он запретил отдавать кому-либо код, так как система не одну тысячу долларов стоит. Так что в другой раз.
вот и закинь туда баг....
1) Там нет крестика в углу, который закрывал бы текущий документ, приходится тыркать правой кнопкой мыши на вкладку и выбирать пункт "Закрыть документ"
2) На слабых компах Зенд тормозит, так как написан на Джаве.
Да хотть урезанный, ё моё!
Я хотел принести систему, которая РЕАЛЬНО представляет из себя крупный серьёзный проект, а не интернет-магазин с корзиной
При тебе кликнули на список функций в документе... Еще до того, как добавить комент...
И я обратил твое внимание на то, что вынкция стала выглядеть подругому.... А именно - добавилось преобразование типов данных при возврате из функции...
Как и почему эжто случилось - мы с тобой так и не поняли....
Ты говорил что очень много таких вещей где я насосу. Я предложил тебе спор хотя бы на одну. Ты сразу же включил заднюю и оказалось что у тебя только одна вешь которую ты называешь "серьёзной". Извини ещё раз, но это просто огромный косяк......
Так а ркзговор то не столько о тех системах, которые не твои, сколько о серьезности написанных лично проектов....
ЗЫ Как ты говорил, коряновские проекты пишуться на твоем движке за неделю?
А я такое ... пишу за 2 дня (UI) и пол дня - настройка базы и админа...
Вот и подумай, о серьезности своего движка и проектов.. прежде чем обсирать чужие...

Я уже не могу спорить с вами, это идиотизм - ты систему видел один раз, корян ваще не видел, какая у вас может быть аргументация?
Ибо то, что от этого действия изменялось - УЖЕ изменилось....
ЗЫ Вот если бы от данного действия происходили каждый раз новые случайные изменения в коде - это был бы ЛОЛ!
Но на этот раз уже не ящик пива а 2 штуки бачей. Согласен?
Учти то что у тебя есть всё ГЗ, а я один (контора где я работаю занимается ASP.NET проектами)
Я где-то сказал, что У МЕНЯ есть серьёзные проекты? Я сказал, что они ЕСТЬ. Я отнюдь не претендую на то, что сам способен написать действительно серьёзный проект. Более того, я считаю, что в одиночку ничего СЕРЬЁЗНОГО в приемлимые сроки написать я не смогу. Случайно я оказался одним из МНОГИХ разработчиков crpbcom, потому про него и упомянул. К сожалению, мне не разрешили его показать. И я не собираюсь мериться тут хуями, движками и прочим, это вы меня не так поняли. Вы уж сами между собой как-нибудь.
Интересно все-таки, что является для тебя серьезным....

















ТЫ ДУРАК ИЛИ ПРИКИДЫВАЕШЬСЯ?
Ты знаешь, что такое call-центр например? Или ты за месяц узнаешь и напишешь гейт между КАТИ-системой и PHP-шной CRM-системой? ЛОЛ, я так давно не смеялся.
Можем сделать так: я даю тебе пользовательский доступ на нашу систему, но не даю доступа к исходникам. Ты пишешь свою систему с идентичной функциональностью. Через месяц сравниваем. Приз - 2000 бачей.
надо только жюри созвать, и ТЗ грамотное составить...Для описания требуемой функциональности, и можно начинать отсчет времени

Если он со мной поспорит, так уж и быть, ставлю через месяц тебе ящик пива. =)
За факт спора тебя с коряном, вне зависимости от его исхода, через месяц после начала спора мы пьем с тобой пиво...
Башляешь за него ты...
ОК?
Не беспокойся за исход спора =) Я думаю ты знаешь, что такое call-центр. И даже представляешь. что такое - написать полнофункциональный веб-интерфейс для почты =) Не говоря уже обо всём остальном.
Первое: слушай, а зачем ты ASP проект кидаешь нам?
Второе:
И бага не должно быть в сторонних приложениях.
причём тут асп?
Если это PhP, то я не кодер и вообще не шарю в инете, и вообще мне нехуй сдесь делать
А если да, то это всё к тебе относится, уж извини.
Твоя цитата
Случайно я оказался одним из МНОГИХ разработчиков crpbcom, потому про него и упомянулЛадно я домой, до четверга

дождемся от ежа внятного ТЗ и вперед и с музыкой....
Хули, писать - это дело техники... Придумывать - вот настоящее исскуство!
для истории - сайт crpb.com не имеет никакого отношения к системе crpbcom
Корян, ты зря понтишься, что типа ты крутой. Может это и так. Тогда познав, что такое трассировка, цены тебе не будет.
А в php есть threads?
Нет. А зачем?
А вы попробуйте отладить мультитредное приложение в дебугере. А я посмеюсь.
Задача php - сгенерировать страницу, отдать её и закончить работу (кроме редких исключений). Где тут threads применять?
A = B*C. Где B && C - матрицы. A - нужно отдать в качестве страницы. Еще глупые вопросы будут?


какого хуя тут делает мультитредность?

Ты все еще не сдал Богачева? Обратись к нему.
слава богу я его сдавать никогда не буду
ты не ответил на вопрос

но зачем? в пхп? поебать позги?
Меня спросили - я ответил. Меня же не просили привести осмысленный пример.
Тут php неприменим. Не для таких задач он предназначен. Если всё же надо посчитать произедение матриц, напиши его на c и вызывай из php. Если хочешь, можешь треды туда запихнуть.
какие-то странные у тебя ассоциации с мультитредностью, как с перемножением матриц
лол пиздец


PS: Это и не важно. Меня просто покоробило отношение к print. Я хочу сказать что иногда print незаменим.


поэтому всё написанное выше - не имеющая практического применения теоретизация, никак не влияющая на область применения отладчика
согласен, он иногда и незаменим, но пытаться доказывать, что он универсален - тоже глупо. А ещё более глупо - отказываться от возможностей трассировщика и дебаггера на том основании, чот в PHP есть функция print

(про себя ничего не говорю, потому как я еще хуже

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

PS. I don't need a debugger. Writing buggy programs is a waste of time. (c)

Оставить комментарий
iakobi91
Собсна вот. Нужно проверить генерацию страницы по шагам? Как-то можно это сделать?