Devel::GDB::Reflect is a reflection API for GDB/C++.
my $gdb = new Devel::GDB( -file => $foo );
my $reflector = new Devel::GDB::Reflect( $gdb );
print $gdb->get( "b foo.c:123" );
$gdb->print( "myVariable" );
Devel::GDB::Reflect provides a reflection API for GDB/C++, which can be used to recursively print the contents of STL data structures (vector, set, map, etc.) within a GDB session. It is not limited to STL, however; you can write your own delegates for printing custom container types.
The module implements the functionality used by the gdb++ script, which serves as a wrapper around GDB. You should probably familiarize yourself with the basic functionality of this script first, before diving into the gory details presented here.
The following global variables control the behavior of the "print" method.
The number of spaces to indent at each level of recursion. Defaults to 4.
The maximum recursion depth. Defaults to 5.
The maximum number of elements to show from a given container. Defaults to 10.