This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]