Manual Reference Pages - DEVEL::MAT (3)
"Devel::MAT" - Perl Memory Analysis Tool
A Devel::MAT instance loads a heapdump file, and provides a container to
store analysis tools to work on it. Tools may be provided that conform to the
Devel::MAT::Tool API, which can help analyse the data and interact with the
explorer user interface by using the methods in the Devel::MAT::UI package.
The dump file format is still under development, so at present no guarantees
are made on whether files can be loaded over mismatching versions of
Devel::MAT. However, as of version 0.11 the format should be more
extensible, allowing new SV fields to be added without breaking loading - older
tools will ignore new fields and newer tools will just load undef for fields
absent in older files. As the distribution approaches maturity the format will
be made more stable.
$pmat = Devel::MAT->load( $path, %args )
Loads a heap dump file from the given path, and returns a new Devel::MAT
instance wrapping it.
$df = $pmat->dumpfile
Returns the underlying Devel::MAT::Dumpfile instance backing this analysis
@tools = $pmat->available_tools
Lists the Devel::MAT::Tool classes that are installed and available.
$tool = $pmat->load_tool( $name )
Loads the named Devel::MAT::Tool class.
$node = $pmat->inref_graph( $sv, %opts )
Traces the tree of inrefs from $sv back towards the known roots, returning
a Devel::MAT::Graph node object representing it, within a graph of reverse
references back to the known roots.
This method will load Devel::MAT::Tool::Inrefs if it isnt yet loaded.
The following named options are recognised:
depth => INT
If specified, stop recursing after the specified count. A depth of 1 will only
include immediately referring SVs, 2 will print the referrers of those, etc.
Nodes with inrefs that were trimmed because of this limit will appear to be
roots with a special name of EDEPTH.
strong => BOOL
direct => BOOL
Specifies the type of inrefs followed. By default all inrefs are followed.
Passing strong will follow only strong direct inrefs. Passing direct
will follow only direct inrefs.
$sv = $pmat->find_symbol( $name )
Attempts to walk the symbol table looking for a symbol of the given name,
which must include the sigil.
$Package::Name::symbol_name => to return a SCALAR SV
@Package::Name::symbol_name => to return an ARRAY SV
%Package::Name::symbol_name => to return a HASH SV
&Package::Name::symbol_name => to return a CODE SV
$gv = $pmat->find_glob( $name )
Attempts to walk to the symbol table looking for a symbol of the given name,
returning the GLOB object if found.
Paul Evans <firstname.lastname@example.org>
|perl v5.20.3 ||DEVEL::MAT (3) ||2016-04-03 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.