Single stepping a simple C-program, but...

Peter Toft
2008-05-19T20:19:12Z

Hi guys

I was a bit surprised today with GDB, and I hope one of you can explain it
to me. Take a look at http://pastebin.org/37117
Press download and save as my_program.c
$ gcc -g my_program.c
$ gdb ./a.out
(gdb) br 7
Breakpoint 1 at 0x804838c: file my_program.c, line 7.
(gdb) r
Starting program: /home/pto/c/a.out

Breakpoint 1, main () at my_program.c:7
7 if ((ii>3) || (ii<1))
(gdb) s
8 printf("hej A\n");
(gdb) s
hej A
7 if ((ii>3) || (ii<1)) <----------- WHY!!!!??
(gdb) s
12 return 0;

-------

Why does the second "step" i.e. "s" take me BACK to line 7 after I
have been in line 8????

Best

--
Peter Toft, Ph.D. [pto@linuxbog.dk] http://petertoft.dk