Всем привет.Дайте плиз совет, как в Perl программах. отловить, где, что зациклилось повисло.
Есть Perl скрипт, который висит в бекграунде и чудно соединяясь с Asterisk через Manager( название точное вылетело из головы, там где можно все евенты смотреть и при желании команды отправлять), собирает данные следит за ними и отправляет в Radius на netup. Но есть несколько прабл
1) Если убить Asterisk по kill -9 ID, то скрипт не переконнектиться Asterisk и грузит одно ядро на 100%
2) Если дёргнуть радиус на биллинге, то опять повиснит.Теперь не знаю методику, как найти что написать в скрипте умного, что бы он мог отследить коннект к Астериску и может установка Таймаута на ожидания ответного пакета от радиуса, а может он и не из-за этого вешается, а чего-то другого, по этому нужна методика дебага, какая процедурка подвисла и про исключения посмотреть чаго умного. Поделитесь плиз теме ссылками, которые нужно бы изучить, и какие программы существует для так сказать отслеживания и дебага.
>[оверквотинг удален]
> 1) Если убить Asterisk по kill -9 ID, то скрипт не
> переконнектиться Asterisk и грузит одно ядро на 100%
> 2) Если дёргнуть радиус на биллинге, то опять повиснит.
> Теперь не знаю методику, как найти что написать в скрипте умного, что
> бы он мог отследить коннект к Астериску и может установка Таймаута
> на ожидания ответного пакета от радиуса, а может он и не
> из-за этого вешается, а чего-то другого, по этому нужна методика дебага,
> какая процедурка подвисла и про исключения посмотреть чаго умного. Поделитесь плиз
> теме ссылками, которые нужно бы изучить, и какие программы существует для
> так сказать отслеживания и дебага.дебаг в перле делается выводом в лог/консоль отладочной инфы. Анализируется скрипт, в нужные точки вставляется print/warn.. Лечение проблем - точно также, анализом скрипта и правками. Что нужно изучить - перл, хотя бы в тех частях, которые применяются в скрипте. работа с сокетами, ввод-вывод, регулярки, циклы, условия, ну и без общего синтаксиса опять же никуда.
> дебаг в перле делается выводом в лог/консоль отладочной инфы. Анализируется скрипт, в
> нужные точки вставляется print/warn.. Лечение проблем - точно также, анализом скрипта
> и правками. Что нужно изучить - перл, хотя бы в
> тех частях, которые применяются в скрипте. работа с сокетами, ввод-вывод, регулярки,
> циклы, условия, ну и без общего синтаксиса опять же никуда.Я не про синтаксис, я просто всяких C# и Delphi, там можно трейсить, можно остановит.... увидеть на какой строке ексцепшион появился, а тут совершенно не понятно как подобного добиться.
> какие программы существует для
> так сказать отслеживания и дебага.perl -d
> perl -dПока не понял, как пользоваться, но сейчас читать чего-нибудь буду.
>> perl -d
> Пока не понял, как пользоваться, но сейчас читать чего-нибудь буду.Почитайте perldoc perldebtut.