User forums > Help

debugging on linux: strange symbols, files open twice, "nothing to be done"

<< < (4/5) > >>

mandrav:
Right, this seems to be some kind of gcc/gdb bug.
This bug can be circumvented by removing the "virtual" keyword from the TestDebugger class' ancestors list


--- Code: ---class TestDebugger : public foo::Base1 ,public Base2
--- End code ---

CuteAlien:

--- Quote from: mandrav on September 16, 2008, 09:51:32 pm ---Right, this seems to be some kind of gcc/gdb bug.
This bug can be circumvented by removing the "virtual" keyword from the TestDebugger class' ancestors list


--- Code: ---class TestDebugger : public foo::Base1 ,public Base2
--- End code ---

--- End quote ---

That would work in my reduced test-case... but the real classes are derived from a class doing the reference-counting so that would introduce diamond inheritance problems :-(

Edit: I'll report it to the gdb people.

Jenna:
Have you tried to use a pointer ?


--- Code: ---TestDebugger* iAmTheBug;
--- End code ---

That works for me in the test-case.

CuteAlien:

--- Quote from: jens on September 16, 2008, 11:45:37 pm ---Have you tried to use a pointer ?

--- End quote ---

Thanks, nice workaround :-) That way I can actually debug it.

mandrav:

--- Quote from: CuteAlien on September 16, 2008, 10:38:21 pm ---... but the real classes are derived from a class doing the reference-counting so that would introduce diamond inheritance problems :-(

--- End quote ---
(emphasis added)

Which is why you shouldn't create such objects on the stack but only on the heap...
So, Jens is right (again) :) :


--- Quote from: jens on September 16, 2008, 11:45:37 pm ---Have you tried to use a pointer ?

--- End quote ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version