Реклама на сайте Advertise with us
Тема: [perl] Обнаружение ошибок Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 20/05/04 в 10:25     

Всем привет!
Стоит у меня один скрипт, но при отправки мыла выдает ошибку. В самом скрипте есть система отображения ошибок, но при этой ничего не пишет. Вопросы такие:
1. Где можно посмотреть лог ошибок перла? (на сервере хостера, так как у меня на локале не работает sendmail)
2. Насколько я знаю есть в перле возможность отображения ошибок в браузере, подскажите как включить ее?

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

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 20/05/04 в 11:24     

Если я правильно понял, то скрипт это CGI, который ты вызываешь через броузер?

Если так, то логи ошибок должны быть в логе апача error_log. Уточни у хостера где этот файл.

Кажется, перл не умеет выводить ошибки в броузере, покрайней мере без специальных модулей.

K началу

 
Информация о пользователе undef


Зарегистрирован: 15.09.03
Сообщения: 357
Ссылка на сообщениеДобавлено: 20/05/04 в 11:33     

Iceworld писал:
Всем привет!
есть ли человеческий дебаггер под перл для виндов, с учетом проектного постороения скрипта (т.е. процедуры в разных файлах)


насколько я знаю, человеческого нет -)

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 20/05/04 в 16:30     

Да речь идет про CGI скрипт. Я смотрел ерорр_лог там нет ничего.

K началу

 
Информация о пользователе Grumbler


Зарегистрирован: 06.07.02
Сообщения: 117
Ссылка на сообщениеДобавлено: 20/05/04 в 18:23     

Потому что ошибка в скрипте внутренняя.
Ковыряй скрипт, делай вывод ошибок.

K началу

 
Информация о пользователе arachnO +


Зарегистрирован: 25.07.03
Сообщения: 897
Ссылка на сообщениеДобавлено: 20/05/04 в 19:21     

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

K началу

 
Информация о пользователе Еugene


Зарегистрирован: 10.12.03
Сообщения: 158
Ссылка на сообщениеДобавлено: 20/05/04 в 20:28     

для вывода ошибок на браузер подключи
CGI::Carp

в крайнем случае - вставь
/usr/bin/perl -w
и use strict
и запусти из консоли
perl filename.pl
или
chmod +x filename.pl
./filename.pl

K началу

 
Информация о пользователе Cibtor


Зарегистрирован: 26.02.03
Сообщения: 481
Ссылка на сообщениеДобавлено: 20/05/04 в 23:45     

Вставь
use CGI::Carp 'fatalsToBrowser';

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 21/05/04 в 09:57     

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

K началу

 
Информация о пользователе perlmaster


Зарегистрирован: 27.02.03
Сообщения: 674
Ссылка на сообщениеДобавлено: 23/05/04 в 13:58     

В данном случае при открытии конвеера sendmail пишешь or die $! и лезишь в еррор_лог смотреть - как и на что ругается. Это если скрипта нормально работает, а почта не отправляется. Тут скорее всего ты с параметрами сендмыла напортачил...
А ежели сам скрипт не пашет - есть синтаксическая проверка perl -c, есть классный отладчик perl -d - смотри в чем дело и правь...

K началу

 
Информация о пользователе Cibtor


Зарегистрирован: 26.02.03
Сообщения: 481
Ссылка на сообщениеДобавлено: 23/05/04 в 23:00     

Вот еще статья по отлову ошибок
http://dklab.ru/chicken/nablas/3.html

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 24/05/04 в 10:33     

Спасибо пригодиться :-)

K началу

 
Информация о пользователе Dr.Syshalt


Зарегистрирован: 14.05.04
Сообщения: 145
Ссылка на сообщениеДобавлено: 25/05/04 в 03:20     

Я не совсем понял, что имеется в виду под "человеческим" icon_smile.gif, но имхо это вполне даже:

http://www.activeware.com/Products/Perl_Dev_Kit/

K началу

 
Информация о пользователе arachnO +


Зарегистрирован: 25.07.03
Сообщения: 897
Ссылка на сообщениеДобавлено: 25/05/04 в 22:26     

Iceworld, скажи сразу и множество вопросов снимешь - у тебя есть терминальный доступ на тот хост?

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 26/05/04 в 10:54     

Да терминальный доступ есть.

K началу

 
Информация о пользователе arachnO +


Зарегистрирован: 25.07.03
Сообщения: 897
Ссылка на сообщениеДобавлено: 26/05/04 в 16:41     

Iceworld писал:
Да терминальный доступ есть.


/usr/bin/perl <имя скрипта> <параметры>

и смотри что покажет

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 27/05/04 в 09:49     

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

K началу

 
Информация о пользователе Dr.Syshalt


Зарегистрирован: 14.05.04
Сообщения: 145
Ссылка на сообщениеДобавлено: 27/05/04 в 15:48     

Iceworld писал:
А по дебагеру вопрос остается открытым, хочется трасировки с просмотром значений.


Это самое ты можешь делать в perl'е без всяких изменений - там дебагер встроенный, который по perl -d вызывается, его же упоминали. И просмотр значений, и все, что угодно. Посмотри perldoc perdebug.

Если этого мало, то я и ссылку на графический дебагер для виндов давал. Вот она еще раз, если потерялась icon_smile.gif
http://www.activeware.com/Products/Perl_Dev_Kit/
Там и CGI можно удобно отлаживать.

Для unix'овых платформ есть DDD и еще штуки три.

K началу

 
Информация о пользователе Iceworld


Зарегистрирован: 10.07.03
Сообщения: 443
Ссылка на сообщениеДобавлено: 27/05/04 в 16:49     

Dr.Syshalt: Спасибо, посмотрю что за зверь.

K началу

 
Информация о пользователе uncle Sam


Зарегистрирован: 02.05.04
Сообщения: 18
Ссылка на сообщениеДобавлено: 31/05/04 в 22:51     

Ошибка у тебя может быть run-time и никаое IDE ее не сможет съэмулировать. Как вариант - использовать модуль CGI::Debug.

Код:
use CGI::Debug qw/report => 'everything', on => 'anything'/;

K началу

 
Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »