Devel::Leak::Object - Detect leaks of objects
version 1.02
# Track a single object use Devel::Leak::Object; my $obj = Foo::Bar->new; Devel::Leak::Object::track($obj); # Track every object use Devel::Leak::Object qw{ GLOBAL_bless }; # Track every object including where they're created use Devel::Leak::Object qw{ GLOBAL_bless }; $Devel::Leak::Object::TRACKSOURCELINES = 1;
This module provides tracking of objects, for the purpose of detecting memory leaks due to circular references or inappropriate caching schemes.
Object tracking can be enabled on a per object basis. Any objects thus tracked are remembered until DESTROYed; details of any objects left are printed out to STDERR at END-time.
use Devel::Leak::Object qw(GLOBAL_bless);
This form overloads bless to track construction and destruction of all objects. As an alternative, by importing bless, you can just track the objects of the caller code that is doing the use.
If you use GLOBAL_bless to overload the bless function, please note that it will ONLY apply to bless for modules loaded AFTER Devel::Leak::Object has enabled the hook.
Any modules already loaded will have already bound to CORE::bless and will not be impacted.
Setting the global variable $Devel::Leak::Object::TRACKSOURCELINES makes the report at the end include where (filename and line number) each leaked object originates (or where call to the ::new is made).
Devel::Leak
Bugs may be submitted through the RT bug tracker (or bug-Devel-Leak-Object@rt.cpan.org).
Adam Kennedy, <adamk@cpan.org>
Karen Etheridge <ether@cpan.org>
Sven Dowideit <sdowideit@cpan.org>
David Cantrell <david@cantrell.org.uk>
This software is copyright (c) 2004 by Adam Kennedy.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
Rewritten from original copyright 2004 Ivor Williams.
Some documentation also copyright 2004 Ivor Williams.
To install Devel::Leak::Object, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::Leak::Object
CPAN shell
perl -MCPAN -e shell install Devel::Leak::Object
For more information on module installation, please visit the detailed CPAN module installation guide.