[Dwarf-discuss] Purpose of basic_block flag in line number table?
Cary Coutant
cary
Wed Jul 19 21:10:20 GMT 2006
I've got a question about the basic_block flag in the DWARF line
number table.
It seems to me that the point of this flag is to enable efficient
single stepping -- i.e., instead of stepping one instruction at a
time until you get to a different line number, the debugger could
look down the line table until it got to either a new source line or
the end of a basic block. If it found a new line before the end of
the basic block, it could set a breakpoint and free-run, fairly
confident that it'll hit that breakpoint. Otherwise, it could set a
breakpoint at the end of the basic block, then single step to
establish where it's going next (which will probably be at a new
source line).
Is this in fact what the flag is for, or is there some other purpose
that I'm overlooking?
What about step-into as opposed to step-over? The DWARF spec extends
the concept of basic block to include calls, so there'd be no way for
the debugger to step into the call and stop without single stepping
or disassembling instructions.
-cary
More information about the Dwarf-discuss
mailing list