------- Comment #2 from nikolay at totalviewtech dot com 2007-10-04 17:13 ------- Ok, Here is how it is implemented now: <1><1b1>: Abbrev Number: 2 (DW_TAG_structure_type) DW_AT_name : array_descriptor2 DW_AT_byte_size : 36 DW_AT_decl_file : 1 DW_AT_decl_line : 16 DW_AT_sibling : <20a> <2><1cb>: Abbrev Number: 3 (DW_TAG_member) DW_AT_name : data DW_AT_decl_file : 1 DW_AT_decl_line : 16 DW_AT_type : <20a> DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0) <2><1da>: Abbrev Number: 3 (DW_TAG_member) DW_AT_name : offset DW_AT_decl_file : 1 DW_AT_decl_line : 16 DW_AT_type : <20c> DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4) <2><1eb>: Abbrev Number: 3 (DW_TAG_member) DW_AT_name : dtype DW_AT_decl_file : 1 DW_AT_decl_line : 16 DW_AT_type : <20c> DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8) <2><1fb>: Abbrev Number: 3 (DW_TAG_member) DW_AT_name : dim DW_AT_decl_file : 1 DW_AT_decl_line : 16 DW_AT_type : <214> DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12) <1><20a>: Abbrev Number: 4 (DW_TAG_pointer_type) DW_AT_byte_size : 4 <1><20c>: Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) DW_AT_name : int4
Notice, that there is already a member 'data', that is a pointer to user array. The problem is, that it points to TAG <20a>, that is a pointer with missing AT type. I think at least, you need is to add type of the user data to this tag, then debugger can figure out what is the data. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33179