Because it is a "step over" variant.
procedure Foo(i : integer);
begin
if i > 10 then exit
DoBefore(1);
DoFoo(i+1);
DoAfter;
end;
Say you are on "DoBefore" and i = 1.
You want
[1] to "Step over to cursor" to "DoAfter".
Then the line DoAfter is executed with i = 3,4,5 to 10.
But "Step over" does not "step in" => so you should expect to stop at "DoAfter" when i=1, and only then.
I.e. you only stop at the target line, if you reach the target line in the very same stack-frame in which you started.
- Any hit of the line, while in a deeper stack frame is skipped
- Exiting the current stack frame, will enter pause (break)
This is what gdb provides under that name. That is were the idea came from.
If you have not started the app yet, then all code is in "deeper stack frames", and can not be reached by "step over to cursor"
You want a completely new command. (a reasonable one, yes)
But no one had yet time to implement it.
As for me (I do a lot of the work on the debugger), I simple have tons of other todo items, that are all at a higher priority.
[1] Well, you do want something else, but this is what it is designed for at current