Hi,
1) This behavior is the direct result of the fact that addresses saved
on the stack are the code locations where execution will continue upon
returning from the current function call.
Thus, the debugger will show the next line to be executed. The
debugger does a binary search internally and finds the nearest line
corresponding to the return address on the stack.
If instead you want to see the line immediately _before_ the current
address you may try setting
the environmental variable ZERO_LINE_NEAREST_MATCH to "false" or "0".
Let me know how that worked out for you.
2) In fact, the right-click contextual menu does allow you to set a
breakpoint at the current line.
I think that it is a good idea to add a menu item for editing the
breakpoint. I will look into your other suggestion as well, at a first
glance it seems a simple change, but I need to look at my notes and
see whether there was a particular reason for not implementing the
"source:line" feature.
Regards,
Cristian