This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Cann't print local vars when nesting functions
> Date: Sat, 19 Feb 2005 11:25:39 -0500
> From: tj <999alfred@comcast.net>
> CC: gdb@sources.redhat.com
>
> I am on linux, 2.4.26 kernel
> gcc 3.2.3
> gdb 5.3
> Source file test.c:
> #include <stdio.h>
>
> int main(int argc, char *argv[]){
>
> int i,j;
> int inside(void){
> int k,l;
>
> k = 1;
> l = k;
> return 0;
>
> }
>
> i = 0;
> j = 1;
> }
>
> test$ cc -g -O0 test.c
> $ gdb ./a.out
> GNU gdb 5.3
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for details.
> This GDB was configured as "i386-slackware-linux"...
> (gdb) b test.c:16
> Breakpoint 1 at 0x8048340: file test.c, line 16.
> (gdb) run
> Starting program: test/a.out
>
> Breakpoint 1, main () at test.c:16
> 16 j = 1;
> (gdb) p i
> No symbol "i" in current context.
> (gdb)
Well, all I can say that with GDB 6.1 and 6.3 I don't see this
problem. Unless someone who knows more than I do about problems
specific to GNU/Linux, I'd suggest to upgrade to newer versions of GCC
and GDB, and see if the problem goes away.