This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug python/11777] New: Strange behaviour of gdb.Type.fields


I sometimes cannot get a proper list of members from structures that do have
members:


This accesses a "real" QRegionPrivate object in a 'QRegion region;':

  python print
gdb.parse_and_eval(\"region\")[\"d\"].dereference()[\"qt_rgn\"].dereference().type

  -> struct myns::QRegionPrivate
 
  python print
gdb.parse_and_eval(\"region\")[\"d\"].dereference()[\"qt_rgn\"].dereference().type.fields()

-> []


If I "create" the type manually I get:
 
  python print gdb.parse_and_eval(\"('myns::QRegionPrivate'*)0\").dereference().type
    -> myns::QRegionPrivate

  python print gdb.parse_and_eval(\"('myns::QRegionPrivate'*)0
\").dereference().type.fields()

    -> [<gdb.Field object at 0xb7764ac0>, <gdb.Field object at 0xb7764af0>,
<gdb.Field object at 0xb7764b20>, <gdb.Field object at 0xb7764b50>, <gdb.Field
object at 0xb7764b80>]

 
Note the extra "struct " in the 'type' output in the first case.

The problem also disappears when I use  type = gdb.lookup_type(str(type)) 
before accessing fields().

-- 
           Summary: Strange behaviour of gdb.Type.fields
           Product: gdb
           Version: 7.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: python
        AssignedTo: unassigned at sourceware dot org
        ReportedBy: andre dot poenitz at nokia dot com
                CC: gdb-prs at sourceware dot org
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


http://sourceware.org/bugzilla/show_bug.cgi?id=11777

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]