|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 01 Apr 2002 22:36:18 To : "Dmitriy Romanov" Subject : Re: Hа: Работа в локале -------------------------------------------------------------------------------- Здравствуй, Dmitriy Romanov. DR> > мне например, для отладки перл-скриптов гораздо проще выводить DR> > прямо в STDOUT значения "загадочных" пременных, чем в отладчике... DR> Я во второй своей программе на перле отлаживал 3 вложенных цикла... А зачем столько, если они не те, которые делаются map, grep и т.п.? Может, ты просто языком не владеешь и пытаешься писать на perl как на дельфях? Так это язык более высокого уровня... DR> >> видел что-то похожее в описании ключей компилятора. А отладчик - это DR> >> "когда наводишь мышкой на переменную, и тебе вылазит хинт с ее значением" DR> > если тебе нужен такой отладчик - прямая дорога на ActiveState, DR> Я оттуда. И такой отладчик я себе нашел. PerlBuilder 2.0c. DR> Брек поинты, еvaluation, trace-in-to-out, нормальный preview. DR> Это уже все стало стандартом со времен turbo C, и я не вижу причин, DR> по которым я должен отказываться от этого. Причину я тебе как раз могу назвать. Правильная организация процесса написания программы. Тесты все равно надо. Их надо до того, как напишется код. Программа в рабочем режиме должна внятно ругаться. Когда эти вещи совмещаются, оказывается, что отладчик не нужен - про все ошибки внятно рассказывают тесты. Достаточно внятно для того, чтобы их исправить. Тесты все равно прогоняются после каждого мелкого исправления, что не создает проблем с локализацией ошибки. Где тут место для дебаггера? Если писать на перле как на дельфях - поверю, дебаггер понадобится. Если как на перле - не вижу повода. А теперь объясни мне, пожалуйста, как ты будешь с помощью PerlBuilder 2.0c ловить багу в работе с internal redirect'ами под mod_perl. Условие: на обычном CGI не проявляется (и вообще на обычном CGI этот код не работает как класс, поскольку за нужными данными бегает в недра апача). Бага, помнится, была изящнейшая, и поймана была существовавшим тестом и двумя cluck'ами... Или багу, связанную с тем, что require после setlocale(LC_ALL,"ru_RU.KOI8-R") начинает полагать, что в загружаемом коде разделитель дробной части - запятая. Все в том же самом mod_perl, хотя воспроизвести ее отдельно, пожалуй, можно. Это вот были баги, потребовавшие для ловли больше 10 минут. Хинт: cluck выдает stack trace по достижении этого места в коде мгновенно. А в дебаггере до него еще добраться надо и в пяток менюшек ткнуть. При том, что cluck там и при нормальной работе полезен, уже на боевом сервере, где применение дебаггера невозможно. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/144548e28ee1b.html, оценка из 5, голосов 10
|