Devel::MAT::Dumpfile - load and analyse a heap dump file
Devel::MAT::Dumpfile
use Devel::MAT::Dumpfile; my $df = Devel::MAT::Dumpfile->load( "path/to/the/file.pmat" ); TODO
This module provides a class that loads a heap dump file previously written by Devel::MAT::Dumper. It provides accessor methods to obtain various well-known root starting addresses, or to find arbitrary SVs by address. Each SV is represented by an instance of Devel::MAT::SV.
Loads a heap dump file from the given path, and returns a new Devel::MAT::Dumpfile instance representing it.
Takes the following named arguments:
If given, should be a CODE reference to a function that will be called regularly during the loading process, and given a status message to update the user.
Returns the version of perl that the heap dump file was created by, as a string in the form 5.14.2.
5.14.2
Returns the endian direction of the perl that the heap dump was created by, as either big or little.
big
little
Returns the length in bytes of a uint field of the perl that the heap dump was created by.
Returns the length in bytes of a pointer field of the perl that the heap dump was created by.
Returns the length in bytes of a double field of the perl that the heap dump was created by.
Returns a boolean indicating whether ithread support was enabled in the perl that the heap dump was created by.
Returns a key/value pair list giving the names and SVs at each of the roots.
For each of the root names given below, a method exists with that name which returns the SV at that root:
maincv defstash mainstack beginav checkav unitcheckav initav endav strtabhv envgv incgv statgv statname tmpsv defgv argvgv argvoutgv argvout_stack fdpidav preambleav modglobalhv regex_padav sortstash firstgv secondgv debstash stashcache isarev mros
Returns all of the heap-allocated SVs, in no particular order
Returns the SV at the given address, or undef if one does not exist.
undef
(Note that this is unambiguous, as a Perl-level undef is represented by the immortal Devel::MAT::SV::UNDEF SV).
Devel::MAT::SV::UNDEF
Traces the tree of inrefs from $sv back towards the known roots, returning a textual description as a list of lines of text.
$sv
The lines of text, when printed, will form a reverse reference tree, showing the paths from the given SV back to the roots.
Paul Evans <leonerd@leonerd.org.uk>
To install Devel::MAT::SV, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::MAT::SV
CPAN shell
perl -MCPAN -e shell install Devel::MAT::SV
For more information on module installation, please visit the detailed CPAN module installation guide.