stack trace в перле

Jan 13, 2012 12:34

Я уже больше 5 лет пишу на перле, но правило "век живи - век учись" никто не отменял :)

Иногда бывает когда ковыряешься в чужом говнокоде и надо надо узнать а откуда же этот кусок кода вызывается, то тогда на помощь приходит модуль Carp, а точнее функция из него cluck.

Делается это просто:

use Carp q/cluck/;
warn cluck;
выводит все вызовы "вверх" до ( Read more... )

perl, работа

Leave a comment

Comments 5

provokatorz January 13 2012, 10:22:01 UTC
А caller в цикле чем не угодил?

Reply

2heoh January 13 2012, 11:13:50 UTC
это как? так чтоли:

for (1..N) { caller($_) }

?

Reply

allter January 13 2012, 12:27:37 UTC
Типа. Кстати, об отладке - некоторое время назад мне пришлось, таки, изучить перловый отладчик, что бы отладить систему с мегазапутанной архитектурой - посмертная отладка уже не получалась, хоть ты в 100 местах cluck`и расставь. Правда на пост ( http://ru-perl.livejournal.com/398049.html ) мне никто ничего внятного не ответил, так что отладка CGI/mod_perl до сих пор затруднительна.

Reply

2heoh January 13 2012, 12:35:08 UTC
а как N узнать? или можно поставить 100 с запасом? cluck мне кажется как-то провославней :)

а дебаггер с модперлом вобще никак, да... use Data::Dumper; warn Dumper ... :)

твой пост я видел, но сказать было нечего :) это у тебя низкоуровневый дебаг DBI.pm какой-нить? в итоге разобрался?

Reply


Leave a comment

Up