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<int> >:
(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.