c++ debugging hosed
Daniel Berlin
dan@cgsoftware.com
Fri Nov 16 05:59:00 GMT 2001
On Sun, 25 Nov 2001, Benjamin Kosnik wrote:
>
> > No, it's relevant to STABS, too.
> > It's due to not properly searching virtual baseclasses.
> > I might still have the changes to do that somewhere, if someone wants
> > them.
>
> This has been broken for some time now. I'd appreciate it if it got
> fixed, so that C++ could be debugged properly.
I'm sure a lot of people would.
Unfortunately, it appears I don't have the code i had worked up to
abstract out the base class offset finding anymore.
What's happening is that GDB wants to know the baseclass offset, and
the routine it uses is tuned to either gnu-v2 or hp aCC (it checks
for something only hp's debug readers fill in, and if it doesn't find
it, it assumes gnu-v2), and the gnu-v2 code either returns the wrong
value (weird errors occur), or -1, which gives you "virtual baseclass
botch"/attempts to deref int values as pointers.
baseclass_offset needs to be abstracted into the cp abi model, and all
existing uses need to use it.
HTH somebody,
Dan
More information about the Libstdc++
mailing list