RustRover 2024.2 Help

Step through the program

RustRover provides a set of stepping actions for various debugging strategies (for example, whether you need to go directly to the next line or enter the functions called on your way there).

Stepping actions are located on the Debug tool window toolbar and in the menu:

Stepping actions

Step over

Steps over the current line and takes you to the next line even if the current line includes function calls. The calls are skipped, and you move straight to the next line of the caller.

  • Click the Step Over button 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 over takes you to the next line

Step into

Steps inside the code of a called function.

  • Click the Step Into button Step Into button or press F7.

Stepping into a called method

If you don't want to step into standard library code (std, core, alloc), in the Settings dialog (Ctrl+Alt+S) , go to Build, Execution, Deployment | Debugger | Stepping and set the Do not step into stdlib checkbox.

Stepping into stdlib option

Step out

Steps out of the current function and takes you to the code of the caller.

  • Click the Step Out button Step Out button or press Shift+F8.

Run to cursor

Continues the execution until the position of the caret is reached.

  1. Place the caret at the line where you want the program to pause.

  2. Select Run to Cursor from the menu or press Alt+F9.

Also, you can Run to Cursor by hovering over the line and clicking the Run to Cursor icon.

Run to cursor with a single click

You can configure whether you want Run to Cursor to work on clicking a line number in Settings | Build, Execution, Deployment | Debugger.

To skip any breakpoints on the way, use Force run to cursor.

Force step into

Steps into the function even if it is skipped by the regular Step Into by default.

  • Select Force Step Into from the menu or press Alt+Shift+F7.

In case the source code of the method or function that you want to step into is unavailable, you can debug disassembled code in a dedicated view.

static void count(int to) { for (int i = 0; i < to; i++) { // the program is suspended here System.out.println(i); } System.out.println("Complete!"); }
public void println(String x) { // Force Step Into enters the implementation of PrintStream.println() if (getClass() == PrintStream.class) { writeln(String.valueOf(x)); } else { synchronized (this) { print(x); newLine(); } } }

Force run to cursor

Continues the execution until the position of the caret is reached. All breakpoints on the way are ignored.

  1. Place the caret at the line where you want the program to pause.

  2. Select Force Run to Cursor from the menu 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 current line has method calls in it. If there are breakpoints in the called methods, they are ignored.

  • Select Force Step Over from the menu or press Alt+Shift+F8.

Last modified: 25 October 2024