The debug execution controls are superceded by breakpoints. For example, if you attempt to step over a function and the program hits a breakpoint, it pauses, regardless of whether the function is completed. You can control your debug execution in various ways, but they all rely on a core set of debug controls.
To control a debug execution:
Debug launch controls
Debug view