This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
scope in nested function
- From: Bill Pursell <bill dot pursell at gmail dot com>
- To: gdb at sourceware dot org
- Date: Fri, 31 Mar 2006 06:57:15 +0100
- Subject: scope in nested function
I'm not sure how to reference a variable in a nested function from gdb.
In the gdb session below, there are 2 things I don't understand
how to do:
1) how do I set a breakpoint in foo? (other than by referencing a line
number)
2) when I'm in foo, how do I reference i?
#include <stdio.h>
int
main()
{
auto void foo(void);
int i = 0;
foo();
return 0;
void foo(void) {
i += 1;
}
}
(gdb) b main
Breakpoint 1 at 0x8048361: file d.c, line 7.
(gdb) run
Starting program: /home/bill/tmp/a.out
Breakpoint 1, main () at d.c:7
7 int i = 0;
(gdb) b foo
Function "foo" not defined.
Make breakpoint pending on future shared library load? (y or [n]) n
(gdb) n
8 foo();
(gdb) s
foo.0 () at d.c:11
11 void foo(void) {
(gdb) p i
No symbol "i" in current context.
(gdb) n
12 i += 1;
(gdb) cont
Continuing.
Program exited normally.