Next over function and breakpoint setting
Orjan Friberg
orjan.friberg@axis.com
Tue Mar 16 15:42:00 GMT 2004
Out of curiosity I followed what happens when issuing a next command
over a function call. The reason I got curious was that I noticed
(remote protocol) that GDB sets a breakpoint on the first instruction of
the function being stepped over, and, when stopped there, sets another
breakpoint at that function's return address to accomplish the "next".
Actually, maybe that's a misrepresentation: looking at the code, it
seems GDB does a step, and if it *then* finds it ended up inside a
function (step_into_function -> step_over_function) it decides to step
out of it.
Looking at the code in infcmd.c and infrun.c I'm sure there's a good
reason for not just setting the breakpoint on the address belonging to
the next line of code, but I couldn't find any comment saying what that
reason is. Anyone care to enlighten me?
(I couldn't say if any of this was remote target/CRIS specific;
apologies if it is and I missed it.)
--
Orjan Friberg
Axis Communications
More information about the Gdb-patches
mailing list