Devel-GDB-Reflect version 0.1 ============================= 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 provides a script, "gdb++", which serves as a wrapper around GDB. Invoke it the same way you would invoke gdb, e.g.: $ gdb++ MYPROG Within the gdb++ session, you can execute the same commands as within gdb, with the following extensions: * print_r VAR Recursively prints the contents of VAR. The command can be abbreviated as "pr". For example, if "v" is of type vector< vector >: (gdb) pr v [ [ 11, 12, 13 ], [ 21, 22, 23 ], [ 31, 32, 33 ] ] * set gdb_reflect_indent VALUE * show gdb_reflect_indent Set or show the number of spaces to indent at each level of recursion. Defaults to 4. * set gdb_reflect_max_depth VALUE * show gdb_reflect_max_depth Set or show the maximum recursion depth. Defaults to 5. Example: (gdb) set gdb_reflect_max_depth 2 (gdb) pr v [ [ { ... }, { ... }, { ... } ], [ { ... }, { ... }, { ... } ], [ { ... }, { ... }, { ... } ] ] * set gdb_reflect_max_width VALUE * show gdb_reflect_max_width Set or show the maximum number of elements to show from a given container. Defaults to 10. Example: (gdb) set gdb_reflect_max_width 2 (gdb) pr v [ [ 11, 12, ... ], [ 21, 22, ... ], ... ] INSTALLATION To install this module type the following: perl Makefile.PL make make test make install DEPENDENCIES This module requires these other modules and libraries: * Parse::Yapp * Devel::GDB * Data::Dumper * Term::ReadLine COPYRIGHT AND LICENCE Put the correct copyright and licence information here. Copyright (C) 2006 by Antal Novak This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.