Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Devel::Leak
Utility for looking for perl objects that are not reclaimed.

Devel::Leak - Utility for looking for perl objects that are not reclaimed.


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 variable 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>

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy