This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: g++, I'm not able to produce debug info for some classes
- From: Ian Lance Taylor <iant at google dot com>
- To: "Vyacheslav V. Yurkov" <uvv dot mail at gmail dot com>
- Cc: gcc-help at gcc dot gnu dot org
- Date: Wed, 26 Jan 2011 07:17:52 -0800
- Subject: Re: g++, I'm not able to produce debug info for some classes
- References: <4D3FDA7D.2070809@gmail.com>
"Vyacheslav V. Yurkov" <uvv.mail@gmail.com> writes:
> We use several static libraries in our project as our run-time.
> To add debug info for a class X I just do:
> g++ X.cpp -I../include -c -g -Wall -o X.o
> ar rsu ../lib1.a X.o
> That worked OK with any class from our library but at the moment
> I have some issues with class X. I can't see its members in a debugger gdb.
> gdb says that class X is <incomplete type>.
> I tried to do 'ptype X' in gdb and got the following:
> No symbol "X" in current context.
> I looked into it more, did objdump for X.o file and saw that
> there is no address near the symbol which looks like my class X.
>
> I tried 3 different versions of g++ (4.3.x, 4.4.x, 4.5.x), tried following
> parameters for gcc: -g3, -g2 -O0, -ggdb, -gstubs+. But nothing helped.
> My class X also doesn't use anonymous unions.
>
> Does anyone have an idea what is wrong with g++ or with my class X?
I think you are asking a gdb question, not a gcc question. You may want
to ask on a gdb mailing list. See http://sourceware.org/gdb/ .
I don't fully grasp your comment about objdump. A type like class X
would not have an address. The objdump program does not dump debugging
information.
Note that in general you need to have a variable of type X before gdb
can tell you anything about it.
Ian