Debug tool window
Show/hide: View | Tool Windows | Debug or Alt05
Configure: Settings | Tools | Debugger
note
Debugging sessions are only supported by Oracle. For more information, refer to Debugging Oracle PL/SQL code.
When you start a debugger session, the Debug tool window opens. Use this window to go through the code line by line, step in and out of called routines, evaluate expressions, and watch variables as they change their values.
note
This is an overview of the Debug tool window. For general instructions on using tool windows, refer to Tool windows.
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 Tools | Debugger settings page CtrlAlt0S and clear the Show debug window on breakpoint checkbox.

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

If you enable the Services tool window for specific run/debug configurations, the entire view of the Debug tool window will be displayed inside the Services tool window when you debug any of these configurations.
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 classes.

When you close a tab, the corresponding debug session terminates.
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.
Console: displays the program output.
For local sessions, the tab works the same as when you just run the program without the debugger attached. The only difference is that debugger output (for example, log messages from breakpoints) is added to the console.
When you attach to a process, the program output is not redirected and only the debugger output is shown in the debugger console.
Threads: displays the list of live threads, lets you switch between them, and export a thread dump.
Memory: provides the information on the objects that are currently on the heap for monitoring their number and lifetime.
Overhead: lets you monitor the resources consumed by particular debugger features and optimize the debugger performance.
To cycle through the tool window tabs, press Alt0→ and Alt0←.
Click
and select which tabs you want to see.
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.
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
in the top-right corner of the Debug tool window, then click Restore Default Layout.
The debugger toolbar contains the most commonly used actions for controlling the debugger session and stepping.

You can configure the list of actions available on the toolbar according to your preferences.
To add a debugging action, right-click the debugger toolbar, select Add to Debugger Toolbar from the context menu, and then select the required action from the list.
To add an action that is not directly related to debugging, right-click the debugger toolbar, and then select Customize Toolbar from the context menu.
In the dialog that opens, click Add, and then select the required action.
Regardless of the selected tab, you can always use the following toolbar controls in the left part of the window:
Item | Tooltip and Shortcut | Description |
---|---|---|
Rerun CtrlF5 | Click this button to stop the current application and run it again. | |
Resume Program F9 | When an application is paused, click this button to resume program execution. | |
Pause Program Ctrl+Pause | Click this button to pause program execution. | |
Stop CtrlF2 | Click this button to terminate the current process externally by means of the standard | |
View Breakpoints CtrlShiftF8 | Click this button to open the Breakpoints dialog where you can configure breakpoints behavior. | |
Mute Breakpoints | Use this button to toggle breakpoints status. When the You can temporarily mute all breakpoints in the project to execute the program without stopping at breakpoints. | |
Debugger Settings | Opens the menu with the following options:
| |
Pin Tab | 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. |
Item | Tooltip and Shortcut | Description |
---|---|---|
Rerun CtrlF5 | Click this button to stop the current application and run it again. | |
Resume Program F9 | When an application is paused, click this button to resume program execution. | |
Pause Program Ctrl+Pause | Click this button to pause program execution. | |
Stop CtrlF2 | Click this button to terminate the current process externally by means of the standard | |
View Breakpoints CtrlShiftF8 | Click this button to open the Breakpoints dialog where you can configure breakpoints behavior. | |
Mute Breakpoints | Use this button to toggle breakpoints status. When the You can temporarily mute all the breakpoints in a project to execute the program without stopping at breakpoints. | |
Settings | Click this button to open the menu with the following options:
| |
Pin Tab | 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. |