This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: gdb shows source line multiple times before executing !!
> Because GCC splits the code for the line into multiple parts. Part of
> the line has executed when you step over it, but it may not be
> immediately obvious how. For instance, given:
> a = b + c;
> the first time you step over it may load b and c from memory; the
> second time may add them; and only the third will store the result into
> a.
hmm... but sometimes it behaves even worse. For example there are two lines
a = b + c;
d = e + f;
then first gdb shows line a = b + c; then d = e + f and then again a = b +
c. And while showing d = e + f first time if I try to print value of a, it
will be some uninitialised (that indicates that a = b + c has not been
executed). Then on next "next" command I will see line a = b +c again and
then valute of a will be correct one.
> > mohanlal jangir wrote:
> >
> >While single stepping with gdb, quite frequently I see sorce lines
> appearing
> >multiple times i.e. gdb shows some line that will be executed on command
> >"next", but that is actully not. After next "next" command, I see same
> line
> >appearing. This happens two or three times and then finally that line is
> >executed.