Cann't print local vars when nesting functions
Eli Zaretskii
eliz@gnu.org
Sat Feb 19 16:25:00 GMT 2005
> Date: Fri, 18 Feb 2005 17:54:17 -0500
> From: Jeff <wd4nmq@comcast.net>
>
> int main(int argc, char *argv[]){
> int i,j;
>
> int inside(void){
> int k,l;
> k = 3;
> l = 4;
> }
>
> i = 0;
> j = 1;
> }
>
> Now set the break point to the same line, j =1, and this happens:
> Breakpoint 1, main () at test.c:25
> 25 j = 1;
> (gdb) p i
> No symbol "i" in current context.
> (gdb)
>
> What gives? Is there something you need to special when nesting functions?
Please tell the details: what platform is this, what versions of GCC
and GDB you use, and how (with what command-line options) you compiled
and linked the program. Also, since the line "j = 1;" is not line 25
in the source you posted, could it be that the program you actually
compiled was different?
FWIW, I tried this with GCC 3.3.3, naive compiler command line, and
GDB 6.3, and couldn't reproduce the problem with the source you
posted.
More information about the Gdb
mailing list