Step through the program
Stepping is the process of controlling step-by-step execution of the program.
RubyMine provides a set of stepping actions, which are used depending on your strategy (for example, whether you need to go directly to the next line or enter the methods invoked on your way there).
The stepping buttons are located on the Debug window toolbar.
![Stepping buttons in the Debug tool window Stepping buttons in the Debug tool window](https://resources.jetbrains.com/help/img/idea/2021.3/rm_debug_examining_stepping_buttons.png)
Step over
Steps over the current line of code and takes you to the next line even if the highlighted line has method calls in it. The implementation of the methods is skipped, and you move straight to the next line of the caller method.
Click the Step over button
or press F8.
If there are breakpoints inside the skipped methods, the debugger will stop at them. To skip any breakpoints on the way, use Force step over.
Step into
Steps into the method to show what happens inside it. Use this option when you are not sure the method is returning a correct result.
Click the Step into button
or press F7.
If there are several method calls on the line, RubyMine asks you which method to enter. This feature is called Smart step into.
Smart step into
Smart step into is helpful when there are several method calls on a line, and you want to be specific about which method to enter. This feature allows you to select the method call you are interested in.
From the main menu, select
or press Shift+F7.Click the method. You can also select it using the arrow keys or tabs and press Enter/F7.
Step out
Steps out of the current method and takes you to the caller method.
Click the Step out button
or press Shift+F8.
Run to cursor
Continues the execution until the position of the caret is reached.
Place the caret at the line where you want the program to pause.
Click the Run to cursor button
or press Alt+F9.
Also, you can Run to Cursor by clicking the line number in the gutter.
You can configure whether you want Run to Cursor to work on clicking a line number in .
To skip any breakpoints on the way, use Force run to cursor.
Force step into
Steps in the method even if this method is skipped by the regular Step Into.
Click the Force step into button
or press Alt+Shift+F7.
Force run to cursor
Continues the execution until the position of the caret is reached. All breakpoints on the way are ignored.
Place the caret at the line where you want the program to pause.
From the main menu, select
or press Ctrl+Alt+F9.
Force step over
Steps over the current line of code and takes you to the next line even if the highlighted line has method calls in it. If there are breakpoints in the called methods, they are ignored.
From the main menu, select
or press Alt+Shift+F8.