After pausing an application, the debugger allows you to continue its execution in small steps, after which control returns to the debugger. There are three stepping commands: Step Over, Step Out, and Step Into.
Each command makes all application threads begin executing again. The application executes until the thread belonging to the debugger that issued the stepping command reaches the destination of the "step". At that point, all threads pause and control returns to the debugger.
The steps relate to functions on the control stack for a particular thread. The steps are defined at the level of source code, not object code. This means that stepping operations in an application that was compiled in Production mode can sometimes work in unexpected ways, because of optimizations carried out by the compiler.
To step through in a particular application thread, issue the stepping command in the debugger on that thread. The commands are available on the debugger's Thread menu as well as on toolbar buttons.
The following sections give examples to illustrate what the three stepping commands do.