# Debug tool window

> **TL;DR**
> Show/hide: `View | Tool Windows | Debug` or `Alt+5` (Windows), `⌘ 5` (macOS), `⌘ 5` (IntelliJ IDEA Classic (macOS)), `⌘ 5` (macOS System Shortcuts), `Alt+5` (XWin), `Alt+5` (GNOME), `Alt+5` (KDE), `Alt+5` (Emacs), `Alt+5` (Sublime Text), `⌘ 5` (Sublime Text (macOS)), `Alt+5` (NetBeans), `Alt+5` (Visual Studio), `⌘ 5` (Visual Studio (macOS)), `Alt+5` (Eclipse), `⌘ 5` (Eclipse (macOS))
>
>
>
> Configure: `Settings | Build, Execution, Deployment | Debugger`

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

> **Note:**
> This is an overview of the Debug tool window. For general instructions on using tool windows, refer to [Tool windows](tool-windows.html).

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` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))  and clear the Show debug window on breakpoint checkbox.

![Debug tool window overview](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_overview.png)

If you prefer that the  Debug  tool window is hidden until a breakpoint is hit, clear the  Open run/debug tool window when started  checkbox in the corresponding [run/debug configuration](run-debug-configuration.html).

## Sessions

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

![Session tabs](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_session_tabs.png)

If you [enable the Services tool window](using-services-tool-window.html) 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](examining-suspended-program.html#inline-view) 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.

![Inline variables view and execution point for the current session](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_session_tabs_example.png)

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

## Tabs

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

* [Frames](examining-suspended-program.html#examine-frames): lets you navigate in the call stacks of the threads.

* [Variables](examining-suspended-program.html#variables): lists the variables available in the current context and lets you analyze and modify the program state.

* [Watches](examining-suspended-program.html#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](examining-suspended-program.html#examine-frames): displays the list of live threads, lets you switch between them, and export a thread dump.

* [Memory](analyze-objects-in-the-jvm-heap.html) : provides the information on the objects that are currently on the heap for monitoring their number and lifetime.

* [Overhead](monitor-debugger-overhead.html): lets you monitor the resources consumed by particular debugger features and optimize the debugger performance.

Procedure: Switch tabs

* To cycle through the tool window tabs, press `Alt+Right` (Windows), `⌘ ⇧ ]` (macOS), `⌃ →` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ →` (macOS System Shortcuts), `Alt+Right` (XWin), `Alt+Right` (GNOME), `Alt+Right` (KDE), `Alt+Right` (Emacs), `Ctrl+Page Down` (Sublime Text), `⌘ ⇧ ]` (Sublime Text (macOS)), `Ctrl+Page Down` (NetBeans), `Alt+Right` (Visual Studio), `⌘ ⇧ ]` (Visual Studio (macOS)), `Ctrl+F6` (Eclipse), `⌘ F6` (Eclipse (macOS)) and `Alt+Left` (Windows), `⌘ ⇧ [` (macOS), `⌃ ←` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ←` (macOS System Shortcuts), `Alt+Left` (XWin), `Alt+Left` (GNOME), `Alt+Left` (KDE), `Alt+Left` (Emacs), `Ctrl+Page Up` (Sublime Text), `⌘ ⇧ [` (Sublime Text (macOS)), `Ctrl+Page Up` (NetBeans), `Alt+Left` (Visual Studio), `⌘ ⇧ [` (Visual Studio (macOS)), `Ctrl+Shift+F6` (Eclipse), `⌘ ⇧ F6` (Eclipse (macOS)).

Procedure: Show/hide tabs

* Click  ![Layout options button](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.debugger.restoreLayout.svg)  and select which tabs you want to see.

![Layout options menu](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_overview_show_tabs.png)

Procedure: 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 blue frame indicates the destination.

![Dragging a tab to another location](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_move_tabs.png)

Procedure: 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](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.debugger.restoreLayout.svg)  in the top-right corner of the Debug tool window, then click Restore Default Layout.

![Restore Default Layout menu item](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debug_restore_layout.png)

## Toolbar

The debugger toolbar contains the most commonly used actions for [controlling the debugger session](starting-the-debugger-session.html) and [stepping](stepping-through-the-program.html).

![The debugger's toolbar](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debugger-toolbar.png)

You can configure the list of actions available on the toolbar according to your preferences.

Procedure: Customize the debugger's toolbar

* 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.

![Customize Debugger Toolbar - add actions](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debugger-toolbar-customize-add-action.png)

* To add an action not directly related to debugging, right-click the debugger toolbar, and then select Customize Toolbar from the context menu.

![The 'Customize toolbar' option in the context menu of the debugger's toolbar](https://resources.jetbrains.com.cn/help/img/idea/2026.2/debugger-toolbar-customize.png)

In the dialog that opens, click Add and then select the required action.

