NAME¶
Test::Memory::Cycle - Check for memory leaks and circular memory references
VERSION¶
Version 1.04
SYNOPSIS¶
Perl's garbage collection has one big problem: Circular references can't get
cleaned up. A circular reference can be as simple as two reference that refer
to each other:
my $mom = {
name => "Marilyn Lester",
};
my $me = {
name => "Andy Lester",
mother => $mom,
};
$mom->{son} = $me;
"Test::Memory::Cycle" is built on top of "Devel::Cycle" to
give you an easy way to check for these circular references.
use Test::Memory::Cycle;
my $object = new MyObject;
# Do stuff with the object.
memory_cycle_ok( $object );
You can also use "memory_cycle_exists()" to make sure that you have a
cycle where you expect to have one.
FUNCTIONS¶
"memory_cycle_ok( $reference, $msg
)"¶
Checks that
$reference doesn't have any circular memory
references.
"memory_cycle_exists( $reference, $msg
)"¶
Checks that
$reference does have any circular memory
references.
"weakened_memory_cycle_ok( $reference, $msg
)"¶
Checks that
$reference doesn't have any circular memory
references, but unlike "memory_cycle_ok" this will also check for
weakened cycles produced with Scalar::Util's "weaken".
"weakened_memory_cycle_exists( $reference,
$msg )"¶
Checks that
$reference does have any circular memory
references, but unlike "memory_cycle_exists" this will also check
for weakened cycles produced with Scalar::Util's "weaken".
AUTHOR¶
Written by Andy Lester, "<andy @ petdance.com>".
BUGS¶
Please report any bugs or feature requests to "bug-test-memory-cycle at
rt.cpan.org", or through the web interface at
<
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Memory-Cycle>. I
will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
SUPPORT¶
You can find documentation for this module with the perldoc command.
perldoc Test::Memory::Cycle
You can also look for information at:
- •
- AnnoCPAN: Annotated CPAN documentation
<http://annocpan.org/dist/Test-Memory-Cycle>
- •
- CPAN Ratings
<http://cpanratings.perl.org/d/Test-Memory-Cycle>
- •
- RT: CPAN's request tracker
<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Memory-Cycle>
- •
- Search CPAN
<http://search.cpan.org/dist/Test-Memory-Cycle>
ACKNOWLEDGEMENTS¶
Thanks to the contributions of Stevan Little, and to Lincoln Stein for writing
Devel::Cycle.
COPYRIGHT¶
Copyright 2006, Andy Lester, All Rights Reserved.
You may use, modify, and distribute this package under the same terms as Perl
itself.