Совет по Perl, дебаг так сказать, EXA, 13-Окт-11, 16:01 [смотреть все]Всем привет.Дайте плиз совет, как в Perl программах. отловить, где, что зациклилось повисло. Есть Perl скрипт, который висит в бекграунде и чудно соединяясь с Asterisk через Manager( название точное вылетело из головы, там где можно все евенты смотреть и при желании команды отправлять), собирает данные следит за ними и отправляет в Radius на netup. Но есть несколько прабл 1) Если убить Asterisk по kill -9 ID, то скрипт не переконнектиться Asterisk и грузит одно ядро на 100% 2) Если дёргнуть радиус на биллинге, то опять повиснит. Теперь не знаю методику, как найти что написать в скрипте умного, что бы он мог отследить коннект к Астериску и может установка Таймаута на ожидания ответного пакета от радиуса, а может он и не из-за этого вешается, а чего-то другого, по этому нужна методика дебага, какая процедурка подвисла и про исключения посмотреть чаго умного. Поделитесь плиз теме ссылками, которые нужно бы изучить, и какие программы существует для так сказать отслеживания и дебага.
|
- Совет по Perl, дебаг так сказать, PavelR, 18:59 , 13-Окт-11 (1)
- Совет по Perl, дебаг так сказать, EXA, 07:45 , 14-Окт-11 (3)
> дебаг в перле делается выводом в лог/консоль отладочной инфы. Анализируется скрипт, в > нужные точки вставляется print/warn.. Лечение проблем - точно также, анализом скрипта > и правками. Что нужно изучить - перл, хотя бы в > тех частях, которые применяются в скрипте. работа с сокетами, ввод-вывод, регулярки, > циклы, условия, ну и без общего синтаксиса опять же никуда.Я не про синтаксис, я просто всяких C# и Delphi, там можно трейсить, можно остановит.... увидеть на какой строке ексцепшион появился, а тут совершенно не понятно как подобного добиться.
- Совет по Perl, дебаг так сказать, allez, 22:04 , 13-Окт-11 (2)
|