Devel::MAT::Tool::Object::Pad - extend Devel::MAT to analyse Object::Pad-based programs
Devel::MAT::Tool::Object::Pad
Devel::MAT
Object::Pad
This third-party Devel::MAT tool adds commands and other support to help with analysis of programs that use Object::Pad. Once installed, it is loaded automatically by the pmat shell whenever a dumpfile that uses Object::Pad is loaded.
Prints a list of the Object::Pad classes and roles.
pmat> classes role ARole at C_STRUCT(Object::Pad/ClassMeta.role) at 0x55d7c17a1550 class HashClass at C_STRUCT(Object::Pad/ClassMeta.class) at 0x55d7c1776b70 ...
Prints the values of all the fields of a given instance of an Object::Pad-based class.
pmat> fields 0x55d7c173d4b8 The field AV ARRAY(3)=NativeClass at 0x55d7c173d4b8 Ix Field Value 0 $sfield SCALAR(UV) at 0x55d7c173d938 = 123 ...
Outbound references from ARRAY SVs that are the backing fields of object instances will print elements using field names, instead of plain indexes.
pmat> outrefs 0x55d7c173d4b8 s the $sfield field SCALAR(UV) at 0x55d7c173d938 ... pmat> identify 0x55d7c17606d8 REF() at 0x55d7c17606d8 is: └─the %hfield field of ARRAY(3)=NativeClass at 0x55d7c173d4b8, which is: ...
This tool adds the following SV methods.
$class = $stash->objectpad_class
If the stash is the package for an Object::Pad-based class, returns the C_STRUCT containing information about the class itself. Otherwise, returns undef.
C_STRUCT
undef
Paul Evans <leonerd@leonerd.org.uk>
To install Devel::MAT::Tool::Object::Pad, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::MAT::Tool::Object::Pad
CPAN shell
perl -MCPAN -e shell install Devel::MAT::Tool::Object::Pad
For more information on module installation, please visit the detailed CPAN module installation guide.