GDB Debugging problems

I had some problems while trying to debug a program.
To be simply: the dubugger shows me wrong infos (some pointers will be displayed with wrong type).

I tryed to use debugger to find where was an error (luckly I find it myself) but debugger doesn't work as expected.

It is a program that uses qt 4.6.3 (I don't know if it is usefull)


1
2
3
DlgPalSection * psec = new DlgPalSection(this); //this refers to the actual class SffWidget

psec->function()


while stepping in DlgPalSection constructor with gdb this what happens

print this -> "this" is marked as (class) DlgPalSection__sd pointer (DlgPalSection__sd is another class) and not as (class) DlgPalSection

print parent -> "parent" (a pointer - private member of class DlgPalSection I am parsing with debugger) is marked as DlgPalSection__sd pointer instead of a (class) SffWidget pointer

so, consequentially I am not able to see any variable of DlgPalSection while parsing constructor (becouse it seems like it would be undefined reference) and not able to see any variable of DlgPalSection::parent pointer (becouse of wrong type assumed by gdb)

after the constructor is parsed (returning to the second line of the code I posted) the pointer psec (that should be DlgPalSection pointer in harmony of source code posted) is showed by gdb as a DlgPalSection__sd pointer instead of DlgPalSection pointer.

Anyone can explain me why gdb is showing me wrong infos (so doesn't allow me to analyze datas?)

Note: There isn't anything in sources that explains this wrong types

(as I remember that DlgPalSection * psec = new DlgPalSection -> psec is showed as DlgPalSection__sd type instead of DlgPalSection).

Thank for your time
Topic archived. No new replies allowed.