NAME

Devel::MAT::Dumper - write a heap dump file for later analysis

SYNOPSIS

use Devel::MAT::Dumper;

Devel::MAT::Dumper::dump( "path/to/the/file.pmat" );

DESCRIPTION

This module provides the memory-dumping function that creates a heap dump file which can later be read by Devel::MAT::Dumpfile. It provides a single function which is not exported, which writes a file to the given path.

The dump file will contain a representation of every SV in Perl's arena, providing information about pointers between them, as well as other information about the state of the process at the time it was created. It contains a snapshot of the process at that moment in time, which can later be loaded and analysed by various tools using Devel::MAT::Dumpfile.

IMPORT OPTIONS

The following import options control the behaviour of the module. They may primarily be useful when used in the -M perl option:

-dump_at_END

Installs an END block which writes a dump file at END time, just before the interpreter exits.

$ perl -MDevel::MAT::Dumper=-dump_at_END ...

-dump_at_SIGABRT

Installs a handler for SIGABRT to write a dump file if the signal is received. After dumping the file, the signal handler is removed and the signal re-raised.

$ perl -MDevel::MAT::Dumper=-dump_at_SIGABRT ...

-dump_at_SIGQUIT

Installs a handler for SIGQUIT to write a dump file if the signal is received. The signal handler will remain in place and can be used several times.

$ perl -MDevel::MAT::Dumper=-dump_at_SIGQUIT ...

-file $PATH

Sets the name of the file which is automatically dumped; defaults to $0.pmat if not supplied.

$ perl -MDevel::MAT::Dumper=-file,foo.pmat ...

-max_string

Sets the maximum length of string buffer to dump from PVs; defaults to 256 if not supplied. Use a negative size to dump the entire buffer of every PV regardless of size.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>