This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [dmj+@andrew.cmu.edu: Re: C++ debugging progress]
- From: Daniel Berlin <dan at cgsoftware dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: <libstdc++ at gcc dot gnu dot org>, <gdb at sources dot redhat dot com>
- Date: Wed, 28 Nov 2001 15:55:58 -0500 (EST)
- Subject: Re: [dmj+@andrew.cmu.edu: Re: C++ debugging progress]
On Wed, 28 Nov 2001, Daniel Jacobowitz wrote:
> Feh. Meant to send this to the lists.
>
> ----- Forwarded message from Daniel Jacobowitz <dmj+@andrew.cmu.edu> -----
>
> Date: Wed, 28 Nov 2001 15:18:19 -0500
> From: Daniel Jacobowitz <dmj+@andrew.cmu.edu>
> Subject: Re: C++ debugging progress
> To: Jason Merrill <jason@redhat.com>
>
> On Wed, Nov 28, 2001 at 07:40:37PM +0000, Jason Merrill wrote:
> > >>>>> "Daniel" == Daniel Jacobowitz <drow@mvista.com> writes:
> >
> > > On Wed, Nov 28, 2001 at 09:31:07AM +0000, Jason Merrill wrote:
> >
> > >> So you're using the inheritance information in the RTTI rather than the debug
> > >> info? That seems unfortunate. I'm not sure why you would need to worry
> > >> about ordering; the debug info should tell you exactly where things are.
> > >> If it doesn't, it should probably be fixed.
> >
> > > In that case, the debug info absolutely needs to be fixed.
> >
> > > <1><22e>: Abbrev Number: 15 (DW_TAG_structure_type)
> > > DW_AT_sibling : <2df>
> > > DW_AT_name : Left
> > > DW_AT_byte_size : 12
> > > DW_AT_decl_file : 1
> > > DW_AT_decl_line : 2
> > > DW_AT_containing_type: <22e>
> > > <2><23f>: Abbrev Number: 22 (DW_TAG_inheritance)
> > > DW_AT_type : <56>
> > > DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8; )
> > > DW_AT_virtuality : 1 (virtual)
> > > DW_AT_accessibility: 1 (public)
> >
> > Yep. Since Base is a virtual base of Left, the DW_AT_data_member_location
> > here should be a complex expression telling the debugger to go through the
> > vtable. I'll get on it.
>
> Thanks!
The small problem may be that we may not be able to handle it in gdb,
depending on how complex it is.
--Dan