RustRover 2024.3 Help

Debug tool window

When you start a debugger session, the Debug tool window opens. Use this window to control the debugger session, view and analyze the program data (frames, threads, variables, and so on), and perform debugger actions.

By default, the Debug tool window opens when your program hits a breakpoint and is not hidden when the session is terminated. To change this behavior, go to the Build, Execution, Deployment | Debugger settings page  Ctrl+Alt+S and clear the Show debug window on breakpoint checkbox.

Debug tool window

Sessions

The available debug sessions are separated into tabs in the top part of the Debug tool window.

Session tabs

All the information in the editor, like inline variable values and execution point, is shown for the selected session tab. This is important if you are running several debug sessions in parallel that use the same code.

When you close a tab, the corresponding debug session terminates.

Tabs

The Debug tool window shows the following tabs for each session:

  • Frames: lets you navigate in the call stacks of the threads.

  • Variables: lists the variables available in the current context and lets you analyze and modify the program state.

  • Watches: lets you manage watches. By default, watches are shown on the Variables tab for more efficient use of the screen space. If you have a lot of watches, consider viewing them in a separate tab.

    Separate tab for watches
  • Console: displays the program output.

    For local sessions, the tab works the same as when you just run the program without the debugger attached.

  • LLDB: provides a console for LLDB command-line debugging.

  • Memory View: shows raw memory of the running process.

Switch tabs

  • To cycle through the tool window tabs, press Alt+Right and Alt+Left.

Show/hide tabs

  • Click Layout options button and select which tabs you want to see.

    Layout options menu

Restore default layout

If you changed the layout of the Debug tool window and don't like the new arrangement, you can revert it to the default state.

  • Click Layout options button in the top-right corner of the Debug tool window, then click Restore Default Layout.

Move tabs

You can arrange the tabs to fit your preference. You can move a tab to another location or group a tab with another tab, so that they share the same space on the screen.

  • Drag the tab header to the desired location. The semi-transparent frame indicates the destination.

    Dragging a tab to another location

Debug toolbar

Regardless of the selected tab, you can always use the following toolbar controls:

Item

Tooltip and Shortcut

Description

Restart

Rerun

Ctrl+F5

Click this button to stop the current application and run it again.

Resume

Resume Program

F9

When an application is paused, click this button to resume program execution.

Pause

Pause Program

Ctrl+Pause

Click this button to pause program execution.

Stop

Stop

Ctrl+F2

Click this button to terminate the current process externally by means of the standard shutdown script.

View breakpoints

View Breakpoints

Ctrl+Shift+F8

Click this button to open the Breakpoints dialog where you can configure breakpoints behavior.

Mute breakpoints

Mute Breakpoints

Use this button to toggle breakpoints status.

When the button is pressed in the toolbar of the Debug tool window, all the breakpoints in the project are muted, and their icons become grey: muted_breakpoint.png.

You can temporarily mute all breakpoints in the project to execute the program without stopping at breakpoints.

Stepping actions

The most commonly used actions are located directly on the toolbar. The rest of the actions are available via the The More button button:

Stepping actions toolbar and menu

Item

Tooltip and Shortcut

Description

Show Execution Point

Show Execution Point

Alt+F10

Click this button to highlight the current execution point in the editor and show the corresponding stack frame in the Frames pane.

Step over

Step Over

F8

Click this button to execute the program until the next line in the current method or file, skipping the methods referenced at the current execution point (if any). If the current line is the last one in the method, execution steps to the line executed right after this method.

Force step over

Force Step Over

Alt+Shift+F8

Click this button to have the debugger step over the method even if this method has breakpoints inside.

Step into

Step Into

F7

Click this button to have the debugger step into the method called at the current execution point.

Force step into

Force Step Into

Alt+Shift+F7

Click this button to have the debugger step into the method called in the current execution point even if this method is to be skipped.

Step out

Step Out

Shift+F8

Click this button to have the debugger step out of the current method, to the line executed right after it.

Run to cursor

Run to Cursor

Alt+F9

Click this button to resume program execution and pause until the execution point reaches the line at the current caret location in the editor. No breakpoint is required. Actually, there is a temporary breakpoint set for the current line at the caret, which is removed once program execution is paused. Thus, if the caret is positioned at the line which has already been executed, the program will be just resumed for further execution, because there is no way to roll back to previous breakpoints. This action is especially useful when you have stepped deep into the methods sequence and need to step out of several methods at once.

If there are breakpoints set for the lines that should be executed before bringing you to the specified line, the debugger will pause at the first encountered breakpoint.

Force run to cursor

Force Run to Cursor

Ctrl+Alt+F9

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

Evaluate expression

Evaluate Expression

Alt+F8

Click this button to evaluate expressions.

Last modified: 04 November 2024