Proposal: offset based member name (or type) lookup

Christoph Jaeschke cjaeschke@onlinehome.de
Sun Jan 4 17:09:00 GMT 2004


Hi,

I would like to propose a offset based member name lookup of
structs/classes. Assume:

     struct X {
         int a;
         int b;
     };

     struct Y {
         struct X x[4];
         int c;
     };

     struct Z {
         Y  y;
     };

If you apply a patch for gdb 6.0 I've prepared, you can ask gdb by

     ptype Z + 28

about Z's relative name at offset 28

     .y.x[3].b

using

     ptype Z+28, typechain

gdb will append also the typechain

     .y.x[3].b, typechain = ::Y::X[4]::int


There may be a better suited command than 'ptype' for it, it was choosen 
just because it was the simplest way to add it.

The patch contains also a caching mechanism, speeding up a lot if you do 
many lookups in big nested structures. It has a minimal memory 
requirement and will not hurt for single lookups.

The patch can be send if you are interested in.

     Christoph Jaeschke



More information about the Gdb mailing list