I'm having the same issue: Assembler windows pops-up, and F8 behaves as F7, and F4 behaves as F9.
Env: Win10 + Laz 1.8.4
Just to be sure: You are talking about using this keys
to start the debugger.
That is when
your application is not yet running.
If you are talking of being paused at a line, and using those to continue stepping => then the answers are totally different!
----
F4 can not be used to start an application of any type. F4 is "
step over to cursor"
not "run to cursor" (though that may have been renamed in 1.9 / 2.0)
This means, it will run to the location of the cursor, if
- it is inside the same method, as the one currently paused in. And at the same level of recursion.
- So it requires to be paused in a function (If you have not started the debugger yet, your app is not in any function)
- It will not stop, if the location is reached at a different/deeper stack level (during a recursion)
(i.e., "step over" does not stop in any functions that are called)
- Alternatively, if the location is not reached on above condition, it will pause when stepping out
Not sure about 1.8: But in 2.0 the menu for "Step over to cursor" is disabled if you the debugger is not yet running. (And F4 should equally not work)
Before it got disabled F4 was acting like F9, because that fulfils the condition "different/deeper stack level"
Are you debugging a GUI app (forms), or a console app?
Using F7/F8 should step to the first line. In a GUI app that is always in the generated projectname.lpr file.
If that does not happen, then please send a logfile (as detailed in my previous post)
For GUI apps, if you want to stop in an event handler (eg OnFormCreate, or ButtonClicked) the only way is to set a breakpoint.
Nothing else will take you there.