|
NAMEDevel::Leak - Utility for looking for perl objects that are not reclaimed.SYNOPSISuse Devel::Leak; ... setup code my $count = Devel::Leak::NoteSV($handle); ... code that may leak Devel::Leak::CheckSV($handle); DESCRIPTIONDevel::Leak has two functions "NoteSV" and "CheckSV"."NoteSV" walks the perl internal table of allocated SVs (scalar values) - (which actually contains arrays and hashes too), and records their addresses in a table. It returns a count of these "things", and stores a pointer to the table (which is obtained from the heap using malloc()) in its argument. "CheckSV" is passed argument which holds a pointer to a table created by "NoteSV". It re-walks the perl-internals and calls sv_dump() for any "things" which did not exist when "NoteSV" was called. It returns a count of the number of "things" now allocated. CAVEATSNote that you need a perl built with -DDEBUGGING for sv_dump() to print anything, but counts are valid in any perl.If new "things" have been created, "CheckSV" may (also) report additional "things" which are allocated by the sv_dump() code. HISTORYThis little utility module was part of Tk until the variable renaming in perl5.005 made it clear that Tk had no business knowing this much about the perl internals.AUTHORNick Ing-Simmons <nick@ni-s.u-net.com>
Visit the GSP FreeBSD Man Page Interface. |