NAME
Devel::MAT
- analyse perl memory usage
DESCRIPTION
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.
CONSTRUCTOR
$pmat = Devel::MAT->load( $path, %args )
Loads a heap dump file from the given path, and returns a new Devel::MAT
instance wrapping it.
METHODS
$df = $pmat->dumpfile
Returns the underlying Devel::MAT::Dumpfile instance backing this analysis object.
@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.
@text = $pmat->identify( $sv )
Traces the tree of inrefs from $sv
back towards the known roots, returning a textual description as a list of lines of text.
The lines of text, when printed, will form a reverse reference tree, showing the paths from the given SV back to the roots.
This method will load Devel::MAT::Tool::Inrefs if it isn't yet loaded.
$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.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>