URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9257
[ Назад ]

Исходное сообщение
"Совет  по Perl, дебаг так сказать"

Отправлено EXA , 13-Окт-11 16:01 
Всем привет.

Дайте плиз совет, как в Perl программах. отловить, где, что зациклилось повисло.
Есть Perl скрипт, который висит в бекграунде и чудно соединяясь с Asterisk через Manager( название точное вылетело из головы, там где можно все евенты смотреть и при желании команды отправлять), собирает данные следит за ними и отправляет в Radius на netup. Но есть несколько прабл
1) Если убить Asterisk  по kill -9 ID, то скрипт не переконнектиться Asterisk и грузит одно ядро на 100%
2) Если дёргнуть радиус на биллинге, то опять повиснит.

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


Содержание

Сообщения в этом обсуждении
"Совет  по Perl, дебаг так сказать"
Отправлено PavelR , 13-Окт-11 18:59 
>[оверквотинг удален]
> 1) Если убить Asterisk  по kill -9 ID, то скрипт не
> переконнектиться Asterisk и грузит одно ядро на 100%
> 2) Если дёргнуть радиус на биллинге, то опять повиснит.
> Теперь не знаю методику, как найти что написать в скрипте умного, что
> бы он мог отследить коннект к Астериску и может установка Таймаута
> на ожидания ответного пакета от радиуса, а может он и не
> из-за этого вешается, а чего-то другого, по этому нужна методика дебага,
> какая процедурка подвисла и про исключения посмотреть чаго умного. Поделитесь плиз
> теме ссылками, которые нужно бы изучить, и какие программы существует для
> так сказать отслеживания и дебага.

дебаг в перле делается выводом в лог/консоль отладочной инфы. Анализируется скрипт, в нужные точки вставляется print/warn.. Лечение проблем - точно также, анализом скрипта и правками.  Что нужно изучить - перл, хотя бы в тех частях, которые применяются в скрипте. работа с сокетами, ввод-вывод, регулярки, циклы, условия, ну и без общего синтаксиса опять же никуда.


"Совет  по Perl, дебаг так сказать"
Отправлено EXA , 14-Окт-11 07:45 
> дебаг в перле делается выводом в лог/консоль отладочной инфы. Анализируется скрипт, в
> нужные точки вставляется print/warn.. Лечение проблем - точно также, анализом скрипта
> и правками.  Что нужно изучить - перл, хотя бы в
> тех частях, которые применяются в скрипте. работа с сокетами, ввод-вывод, регулярки,
> циклы, условия, ну и без общего синтаксиса опять же никуда.

Я не про синтаксис, я просто всяких C# и Delphi, там можно трейсить, можно остановит.... увидеть на какой строке ексцепшион появился, а тут совершенно не понятно как подобного добиться.



"Совет  по Perl, дебаг так сказать"
Отправлено allez , 13-Окт-11 22:04 
> какие программы существует для
> так сказать отслеживания и дебага.

perl -d


"Совет  по Perl, дебаг так сказать"
Отправлено EXA , 14-Окт-11 07:46 
> perl -d

Пока не понял, как пользоваться, но сейчас читать чего-нибудь буду.



"Совет  по Perl, дебаг так сказать"
Отправлено allez , 14-Окт-11 10:54 
>> perl -d
> Пока не понял, как пользоваться, но сейчас читать чего-нибудь буду.

Почитайте perldoc perldebtut.