leak(3)
NAME
Devel::Leak - Utility for looking for perl objects that
are not reclaimed.
SYNOPSIS
use Devel::Leak; ... setup code my $count = Devel::Leak::NoteSV($handle); ... code that may leak Devel::Leak::CheckSV($handle);
DESCRIPTION
Devel::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.
CAVEATS
Note 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.
HISTORY
This little utility module was part of Tk until the vari
able renaming in perl5.005 made it clear that Tk had no
business knowing this much about the perl internals.
AUTHOR
- Nick Ing-Simmons <nick@ni-s.u-net.com>