"Devel::MAT::Tool::Identify" - identify an SV by its
referrers
This "Devel::MAT" tool provides
a command to identify an SV by walking up its tree of inrefs, printing
useful information that helps to identify what it is by how it can be
reached from well-known program roots.
pmat> identify 0x1bbf640
IO() at 0x1bbf640 is:
└─the io of GLOB(@*I) at 0x1bbf628, which is:
└─the ARGV GV
Prints a tree of the identification of the SV at the given
address.
Takes the following named options:
- --depth D, -d D
- Limits the output to the given number of steps away from the given initial
SV.
- --weak
- Include weak direct references in the output (by default only strong
direct ones will be included).
- --all
- Include both weak and indirect references in the output.
- --no-elide, -n
- Don't elide structure in the output.
By default, REF()-type SVs will be
skipped over, leading to a shorter neater output by removing this
usually-unnecessary noise. If this option is not given, elided reference
SVs will be notated by adding "(via
RV)" to the reference description.
Additionally, members of the symbol table will be printed as
being root SVs, noting their symbol table name. This avoids additional
nesting due to the stashes and globs that make up the symbol table. This
can also cause SVs to be recognised as symbol table entries, when
without it they might be cut off due to the depth limit.
Paul Evans <leonerd@leonerd.org.uk>