PyCharm 2018.2 Help

Debug Tool Window

View | Tool Windows | Debug

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.

Each of the tabs and areas can be hidden/restored, or moved to a location of your choice.

Debug toolbar

ItemTooltip and ShortcutDescription
icons actions restart svg Rerun
Click this button to stop the current application and run it again.
icons actions resume svg Debug
When the current application is stopped, click this button to debug it again. When an application is running, this button toggles to icons actions restart svg.
icons actions resume svg Resume Program
When an application is paused, click this button to resume program execution.
icons actions pause svg Pause Program
Click this button to pause program execution.

Note that the button is not available for Run/Debug Configuration: Node.js, Run/Debug Configuration: Attach to Node.js/Chrome, and Run/Debug Configuration: NodeUnit.

icons actions suspend svg Stop
Click this button to terminate the current process externally by means of the standard shutdown script.
icons debugger viewBreakpoints svg View Breakpoints
Click this button to open the Breakpoints dialog where you can configure breakpoints behavior.
icons debugger muteBreakpoints svg Mute BreakpointsUse this button to toggle breakpoints status.

When the icons debugger muteBreakpoints svg button is pressed in the toolbar of the Debug tool window, all the breakpoints in a project are muted, and their icons become grey: muted breakpoint.

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

icons debugger restoreLayout svg Restore LayoutClick this button to abandon changes to the current layout and return to the default state.
icons general gearPlain svg Show Options MenuClick this button to open the menu with the following options available:
  • Show Values Inline: select this option to enable the Inline Debugging feature that allows viewing the values of variables right next to their usage in the editor.
  • Sort Values Alphabetically: select this option to sort the values in the Variables pane in the alphabetical order.
  • Unmute Breakpoints on Session Finish: select this option to re-enable all disabled breakpoints after the debugging session has been finished.
  • Show Return Values: select this option to display the return values of the executed functions in the current frame while stepping.
  • Simplified Variables View: Select this option to include the following names into the Special Variables group:
    • all variables with the dunder names.
    • all instances of function, classobj and module.
    • all the IPython internal variables, if debug console with IPython has been started.
  • Variables Loading Policy. You can choose one of the following policies:
    • Synchronously: If this check command is selected, the message shown is Collecting data, and after that the debugger shows the variables' values.

    • Asynchronously:If this check command is selected, the variables in the debugger are loaded separately (asynchronously). In this case, if loading a variable takes a long time, the debugger shows ...Loading Value message, and only after that it shows its value or the Loading timed out message, if the variable is too slow. Mind the warning message that suggest switching to the on demand mode.

    • On demand: If this check command is selected, the debugger shows Show Value message. Click it to enable loading.

    Note that any changes in the loading policies become effective after you rerun the debugging process.

icons general pin tab svg 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.

Stepping toolbar

ItemTooltip and ShortcutDescription
icons debugger showCurrentFrame svg 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.
icons actions traceOver svg Step Over
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.
icons actions traceInto svg Step Into
Click this button to have the debugger step into the method called at the current execution point.
step into my code Step Into My Code
Click this button to skip stepping into library sources and keep focused on your own code.
icons actions stepOut svg Step Out
Click this button to have the debugger step out of the current method, to the line executed right after it.
frames drop frame Drop frameInterrupts execution and returns to the initial point of method execution. In the process, it drops the current method frames from the stack.
icons actions runToCursor svg 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.

icons debugger evaluateExpression svg Evaluate Expression
Click this button to open the Evaluate Expression dialog.

Hide/restore toolbar

debug_hide HideClick this button located in the upper-right corner of the Debug Console, Watches, Frames, or Variables pane to hide the corresponding area. When an area is hidden, its icon appears in upper-right corner of the Debugger.
show-console Restore 'Console' viewClick this button to make the Console area visible. This button becomes available after clickingdebug_hide.
show-frames Restore 'Frames' viewClick this button to make the Frames area visible. This button becomes available after clicking debug_hide.
show-watches Restore 'Watches' viewClick this button to make the Watches area visible. This button becomes available after clickingdebug_hide.
show-variables Restore 'Variables' viewClick this button to make the Variables area visible. This button becomes available after clicking debug_hide.

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 to that, just drag a tab or an area to the desired location. The possible target gets highlighted.

py move debug tab

Drop the tab or area in the highlighted location.

To restore the default layout of tabs and area, click icons debugger restoreLayout svg in the Debug toolbar.

Context menu of a tab

Use the context menu of the Frames, Variables or Watches areas to configure the behavior of these areas or navigate between tabs.

HideClick this button to hide the corresponding area
Close OthersClick this button to hide all tabs except for the Console and Debugger tabs.
Focus On StartupIf this option is selected, the selected area gets the focus when you start a debugging session.
Focus On BreakpointIf this option is selected, the selected area gets the focus when a breakpoint is reached.
Select Next Tab / Select Previous Tab
Ctrl+Alt+Right / Ctrl+Alt+Left
Use these options to switch between the Console and the Debugger tabs.
Last modified: 20 July 2018

See Also