GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Leak(3) User Contributed Perl Documentation Leak(3)

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

  use Devel::Leak;
  ... setup code

  my $count = Devel::Leak::NoteSV($handle);

  ... code that may leak

  Devel::Leak::CheckSV($handle);

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.

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.

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.

Nick Ing-Simmons <nick@ni-s.u-net.com>
2004-03-18 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.