Debug Tool Window
This tool window becomes available when you start debugging.
It displays the output generated by the debugging session for your application. If you are debugging multiple applications, the output for each application is displayed in a separate tab named after the corresponding run/debug configuration.
For each application, there are the following nested tabs:
Console: displays system information and error messages, and the console input and output of your application.
Debugger: this tab is divided into the following areas:
Elements: appears if you are using Chrome browser for debugging.
Each area has a context menu that allows you to configure its behavior and navigate between tabs.
Tooltip and Shortcut
Click this button to stop the current application and run it again.
When the current application is stopped, click this button to debug it again. When an application is running, this button toggles to .
When an application is paused, click this button to resume program execution.
Click this button to pause program execution.
Click this button to terminate the current process externally by means of the standard
Click this button to open the Breakpoints dialog where you can configure breakpoints behavior.
Use this button to toggle breakpoints status.
When the button is pressed in the toolbar of the Debug tool window, all the breakpoints in a project are muted, and their icons become grey: .
You can temporarily mute all the breakpoints in a project to execute the program without stopping at breakpoints.
Get thread dump
Click this button to open the Dump tab.
Click this button to abandon changes to the current layout and return to the default state.
Show Options Menu
Click this button to open the menu with the following options available:
Click this button to pin or unpin the current tab. You may need to pin a tab to prevent it from closing automatically when the maximum number of tabs is reached in this window.
Tooltip and Shortcut
Show Execution Point
Click this button to highlight the current execution point in the editor and show the corresponding stack frame in the Frames pane.
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.
Click this button to have the debugger step into the method called at the current execution point.
If stepping into the called method is suppressed through the Stepping page of the Settings dialog (for example, if it is of a standard Java SDK class or a simple getter), the method will be skipped. Change the settings or use the Force Step Into command.
Force Step Into
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.
Click this button to have the debugger step out of the current method, to the line executed right after it.
Interrupts execution and returns to the initial point of method execution. In the process, it drops the current method frames from the stack.
Run to Cursor
Click this button to resume program execution and pause until the execution point reaches the line at the current cursor 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.
Click this button to open the Evaluate Expression dialog.
Trace Current Stream Chain
Click this icon when the debugger stops before or inside a Stream API calls chain to get a visualization of what happens to each element in each transformation (see Analyze Java Stream operations for details).
Click this button located in the upper-right corner of the Debug Console, Watches, Treads, Frames, or Variables pane to hide the corresponding area. When an area is hidden, its icon appears in the upper-right corner of the Debugger.
Restore 'Console' view
Click this button to make the Console area visible. This button becomes available after clicking .
Restore 'Frames' view
Click this button to make the Frames area visible. This button becomes available after clicking .
Restore 'Watches' view
Click this button to make the Watches area visible. This button becomes available after clicking .
Restore 'Threads' view
Click this button to make the Threads area visible. This button becomes available after clicking .
Restore 'Variables' view
Click this button to make the Variables area visible. This button becomes available after clicking .
Restore 'Overhead' View
Click this button to make the Overhead pane visible that lets you quickly detect what causes overhead in a debugging session (see Monitor debugger overhead).
Moving tabs and areas
If you are unhappy with the default layout of the Debug tool window, you can always move the tabs and areas. To do that, just drag a tab or an area to the desired location. The possible target gets highlighted.
Drop the tab or area in the highlighted location.
To restore the default layout of tabs and area, click in the Debug toolbar.
Context menu of a tab
Click this button to hide the corresponding area
Click this button to hide all tabs except for the Console and Debugger tabs.
Focus On Startup
If this option is selected, the selected area gets the focus when you start a debugging session.
Focus On Breakpoint
If this option is selected, the selected area gets the focus when a breakpoint is reached.
Select Next Tab / Select Previous Tab
Use these options to switch between the Console and the Debugger tabs.