This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug c++/9607] print displays wrong value of char-pointer in a class, delivered as function parameter
- From: "tromey at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 20 May 2009 22:58:56 -0000
- Subject: [Bug c++/9607] print displays wrong value of char-pointer in a class, delivered as function parameter
- References: <20080818193801.9607.cmayer@xp8.de>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From tromey at redhat dot com 2009-05-20 22:58 -------
I can use a trick to see the string:
(gdb) p ((char **) ¶m)[1]
$2 = 0x8048936 "TestValue"
gdb appears to be printing the "zeroth slot" of the object rather than the first.
This in turns appears to be a debug info problem, afaict:
<1><33f4>: Abbrev Number: 79 (DW_TAG_class_type)
<33f5> DW_AT_name : (indirect string, offset: 0x19b8): myclass
<33f9> DW_AT_byte_size : 4
<33fa> DW_AT_decl_file : 29
<33fb> DW_AT_decl_line : 9
<33fc> DW_AT_sibling : <0x343e>
<2><3400>: Abbrev Number: 80 (DW_TAG_member)
<3401> DW_AT_name : str
<3405> DW_AT_decl_file : 29
<3406> DW_AT_decl_line : 11
<3407> DW_AT_type : <0xaef>
<340b> DW_AT_data_member_location: 2 byte block: 23 0
(DW_OP_plus_uconst: 0)
It seems to me that the data member location should not be 0.
However, I am not certain; I'll have to do more reading.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=9607
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.