Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

devel::leak(3) [centos man page]

Leak(3) 						User Contributed Perl Documentation						   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 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> perl v5.16.3 2004-03-18 Leak(3)

Check Out this Related Man Page

Trace(3pm)						User Contributed Perl Documentation						Trace(3pm)

NAME
Devel::Trace - Print out each line before it is executed (like "sh -x") SYNOPSIS
perl -d:Trace program DESCRIPTION
If you run your program with "perl -d:Trace program", this module will print a message to standard error just before each line is executed. For example, if your program looks like this: #!/usr/bin/perl print "Statement 1 at line 4 "; print "Statement 2 at line 5 "; print "Call to sub x returns ", &x(), " at line 6. "; exit 0; sub x { print "In sub x at line 12. "; return 13; } Then the "Trace" output will look like this: >> ./test:4: print "Statement 1 at line 4 "; >> ./test:5: print "Statement 2 at line 5 "; >> ./test:6: print "Call to sub x returns ", &x(), " at line 6. "; >> ./test:12: print "In sub x at line 12. "; >> ./test:13: return 13; >> ./test:8: exit 0; This is something like the shell's "-x" option. DETAILS
Inside your program, you can enable and disable tracing by doing $Devel::Trace::TRACE = 1; # Enable $Devel::Trace::TRACE = 0; # Disable or Devel::Trace::trace('on'); # Enable Devel::Trace::trace('off'); # Disable "Devel::Trace" exports the "trace" function if you ask it to: import Devel::Trace 'trace'; Then if you want you just say trace 'on'; # Enable trace 'off'; # Disable TODO
o You should be able to send the trace output to the filehandle of your choice. o You should be able to specify the format of the output. o You should be able to get the output into a string. We'll see. LICENSE
Devel::Trace 0.11 and its source code are hereby placed in the public domain. Author Mark-Jason Dominus (C<mjd-perl-trace@plover.com>), Plover Systems co. See the C<Devel::Trace.pm> Page at http://www.plover.com/~mjd/perl/Trace for news and upgrades. perl v5.14.2 2012-02-16 Trace(3pm)
Man Page