Is that a GDB bug?

Nancy nancydreaming@gmail.com
Mon Oct 12 12:46:00 GMT 2015


Hi,

Why line 5 execute twice?   Is that a GDB bug?

debug.c :
     1    int main()
     2    {
     3        int x;
     4        x=0;
     5        L1: switch(x) { case 0: x=1; goto L1;  case 1: if(x==0)
goto L1; else break; }
     6        x=2;
     7    }

$ gcc -O0 -g debug.c -o debug
$ gdb debug
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
....................
Reading symbols from debug...done.
(gdb) b 5
Breakpoint 1 at 0x80483fa: file debug.c, line 5.
(gdb) r
Starting program: /mnt/hgfs/cygwin/tmp/debug

Breakpoint 1, main () at debug.c:5
5        L1: switch(x) { case 0: x=1; goto L1;  case 1: if(x==0) goto
L1; else break; }
(gdb) n

Breakpoint 1, main () at debug.c:5
5        L1: switch(x) { case 0: x=1; goto L1;  case 1: if(x==0) goto
L1; else break; }
(gdb) n
6        x=2;


-- 
Best Regards,
Yu Rong Tan



More information about the Gdb mailing list