IMHO, in this case F7 vs F8 should make no difference.
In neither case is there any "stepping into". And F7 only should "step into" code that has sources.
But, both F7 and F8 must perform a step out, if they reach the end of the current procedure. And once stepped out, they will be inside the kernel.
The same would happen if a user debugs his Paint method, and he keeps stepping out (or even just steps out, and has an LCL without debug info). There is plenty of possibilities for step out, to leave the available sources.
Yes, a warning dialog would be an option => but you can see the asm dialog as just that.
Maybe it is just me, but I would find a "Sorry but the debugger can't step into/over because there is no further source code (in the caller)" way more annoying than the asm window.
- It still gets me off the sources
- It still is an extra window that I need to close
- I am now forced to use some other key combo (as the same would apply to "step out" I could not even use the normal step-out key combo to work my way out)
But that is why I ask, maybe that is just me.
So, if there are plenty of people who would rather get such a dialog, and have the debugger to do nothing => then ok.The only advantage of such a dialog is, if it could offer you an alternative. And the option to make that default. E.g., if it would say "Do you want the debugger to run/F9 your code if F7/F8 leaves the sources (Don't ask again)".
However using F7 as the "force the debugger to step out, rather than showing the dialog" is
not an option. There are enough situations were people step with F7 instead of F8 => and then they would never get the dialog, but without choice get the asm window.... (which is completely defying the idea of showing a dialog instead).
So the big issue with the dialog is, that either
- it need different key combos to continue stepping (anything but run/F9)
- or, the dialog has a button "force the step", and you always have to go through the dialog
Trying to "step out" until sources, is a limited alternative => because there are cases were the stack can not be unwound, and the calling sources can not be found. Or they may not even exist (e.g. leaving the main code of a thread).
Lastly, I'd like to see the Assembly window _not_ be a separate popup window. Instead, I'd like to see it as it is in Visual Studio, simply another tab in the collection of "source windows"
Doesn't anchordocking get you close enough to that?
Yes, it isn't in the same set of tabs as the other source editors, but it can be in the same docking location (just a new tab-bar with "asm" and "source-editor").
I am not sure if I would do that as a feature outside of anchordocking. To me it would be a problem, as I always have several Source editors, and would then have to keep making sure it is in the correct one, or in its own one....
Not to mention, it would be a good amount of work, since the source editors want to have a SynEdit in them.... And the asm, has it's own text drawer (could be changed), and a toolbar, ....
So, even the bars for a contribution on this would be very high... Starting with a general interface for the source editor to handle such different content.