This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/8542: GBD broken under gcc 3.2 - can't print any local variables or class members
- From: Ron Eastman <ron_eastman at schonfeld dot com>
- To: karinc at adsmr dot co dot za, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, drow at mvista dot com, gcc-bugs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Tue, 19 Nov 2002 11:17:33 -0800
- Subject: Re: c++/8542: GBD broken under gcc 3.2 - can't print any local variables or class members
- Reply-to: Ron Eastman <ron_eastman at schonfeld dot com>
Salutations,
I've been having the same problem with gcc 3.2 and gdb...
I don't know whether this will be of much use to anyone, but after some
amount of experimentation it seems to me that the problem is related in
somehow to objects which have destructors (or constructors?). Unfortunately
the code I am working on is large and proprietary, so I can't provide you
with an example as I would like. What I found --by removing all the code
from main() and then adding it back bit by bit--is that a certain point was
reached where, if I added just one additional declaration (e.g. "string
datapath;") then when compiled and fired up in gdb, the local variables are
not visible. Remove that one declaration, and they are. I don't think there
was anything wrong with that particular declaration--other string variables
were declared further up in main. Furthermore, if instead of "string
datapath" I put in "double foo;", then local variables ARE visible. "double"
has no destructor. Make it "vector foo;" and the problem returns. I tried
several different objects with constructors/destructors and reliably
reproduced the problem. Note also that: if I put braces around the
declaration ("{string foo;}") then the problem disappeared.
I hope this helps.
Ron Eastman
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&p
r=8542
Ronald G. Eastman
Schonfeld Securities LLC
2185 North California Boulevard
Suite 320, Walnut Creek, CA 94596
(925) 256-2464
(925) 256-4548 (fax)
ron_eastman@schonfeld.com