Bug 22671 - gdb does not find locally scoped symbols
Summary: gdb does not find locally scoped symbols
Status: CLOSED DUPLICATE of bug 18707
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Aaron Brown
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-12-21 16:47 UTC by Rick Delashmit
Modified: 2007-04-18 16:30 UTC (History)
0 users

(edit)
Clone Of:
(edit)
Last Closed: 2000-12-26 23:07:00 UTC


Attachments (Terms of Use)

Description Rick Delashmit 2000-12-21 16:47:40 UTC
When debugging a c++ program, gdb is unable to find symbols in scopes more
local than function level.  Source and directions for repeating the problem
follow.

--- source file a.cxx

class Test
{
public:
	void Init()
	{
		a = 0;
	}
public:
	int a;
};

int main(int argc, char* argv[])
{
	{
		TestClass t;
		t.Init();
	}
	return 0;
}

--- end source file a.cxx

compiled with 'g++ -g -o a a.cxx'
debugged with 'gdb a'
in gdb:
	break TestClass::Init
	r
(breaks in TestClass::Init())
	frame 1
	p t
t should be in scope here, as we are at the t.Init() line.  Instead we
get a 'No symbol "t" in current context.' message.

I tested this on an RH6.2 system and it worked properly.

Comment 1 Rick Delashmit 2000-12-21 21:40:17 UTC
I ran this test case using
'kgcc -x c++ -o a a.cxx'
(kgcc as shipped with RH7, egcs-2.91.66)
to compile it, and it worked correctly, so this appears likely to be a bug with
the debug info output by the gcc 2.96 package, rather than with gdb.


Comment 2 Trond Eivind Glomsrxd 2000-12-26 23:06:29 UTC
jakub, assigning to you... I know I did so a couple of months ago with a very 
similar bug (probably duplicate), but you know the gcc bu

Comment 3 Trond Eivind Glomsrxd 2000-12-26 23:06:57 UTC
g numbers better than me.

Comment 4 Jakub Jelinek 2000-12-31 11:14:57 UTC

*** This bug has been marked as a duplicate of 18707 ***


Note You need to log in before you can comment on or make changes to this bug.