IntelliJ IDEA 2016.2 Help

Debug Tool Window. Variables

In this topic:

Overview

The Variables pane enables you to examine the values stored in the objects of your application.

When a stack frame is selected in the Frames pane, the Variables pane displays all data within its scope (method parameters, local and instance variables).

In this pane, you can set labels for objects, inspect objects, evaluate expressions, add variables to watches and more.

Toolbar

This toolbar appears only on clicking the button show-watches in the Watches pane. So doing, the focus is with the Debugger tab.

ItemShortcutDescription
addAlt+InsertClick this button to create a new watch.
deleteAlt+DeleteClick this button to remove the selected watch from the list.
arrowUparrowDownAlt+UpAlt+DownUse these buttons to change the order of watches.
copyCtrl+DUse this button to create a copy of the selected watch.
show-watchesN/AUse this button to show watches in the Variables pane. When this button is pressed, the corresponding Variables pane shows this toolbar and the created watches.

Context menu

ItemShortcutDescription
InspectN/AThis command is available for fields, local variables and reference expressions, and opens a non-modal Inspection window, where you can concentrate on a particular reference. You can open as many Inspection windows as required. The view in the Inspection window is the same as in the Watches pane, but requires less screen space.
Mark ObjectF11Use this command to add an object label.
Set ValueF2Use this command to change the runtime value of a field or a variable.
Copy ValueCtrl+CUse this command to copy the value of the selected variable to the Clipboard. If multiple items are selected, not only variables' values, but also their structure is copied, so that when you copy-paste the selection to a text file, the indentation mimics the tree output of the debugger to produce an easy-to-read output.

Alternatively, hover your mouse cursor over a value and view its contents in the tooltip.

Copy Value AsN/AThis menu item is available only in the PHP context.

Choose this command to copy the selected variable to the Clipboard in one of the following formats:

Copy JSONThis menu item is available only in the JavaScript context. Choose this command to copy the selected value in the JSON format.
Compare Value with ClipboardN/AUse this command to compare the selected value with the value currently in the Clipboard.
Copy NameN/AUse this command to copy the name of the selected variable to the Clipboard.
evaluateExpressionIconEvaluate ExpressionAlt+F8Use this command to evaluate the selected variable in the dialog that opens.
watches-addAdd to WatchesN/AThis command is available for all nodes except static ones. Use this command to create an expression that references the node and add this expression to the Watches pane.
Show Referring ObjectsN/AUse this command to display a list of objects referring to the currently selected variable.
Jump to SourceF4This command opens the source code of the selected variable or field in the editor and places the caret in the corresponding line.
Jump to Type SourceShift+F4Use this command to open the source code of the selected variable or field type in the editor.
View Text / View/Edit Text (for string values)N/AUse this command to display the text representation (if any) of the selected variable.

Note that for the string values View Text turns into View/Edit Text. This makes it possible to change string values in a text area.

View asN/AUse this command to select how you want variable values to be displayed. For numeric values, you can toggle between the decimal and hexadecimal formats. Objects are usually represented by their class name and instance identifier, but you can optionally show them in the string format.
  • Auto: this option is available for items where different layout is possible. If selected, IntelliJ IDEA looks through all available renderers and searches for the first suitable layout for the currently selected item. If none is found, the default layout is applied.
  • Hex: this option is available for numeric variables. If selected, the variable is shown in the hexadecimal format.
  • Primitive: this option is available for primitive variables. It shows the value appropriate for the corresponding primitive type.
  • Binary: this option is available for binary data. If selected, the variable is shown as a binary literal.
  • Timestamp: this option is available for long data. If selected, the variable is shown as a timestamp.
  • Boolean: available for boolean data. If selected, the variable is shown as a boolean value (true or false).
  • toString(): this option is available for all reference types where toString() is overridden (except for arrays), and shows the node's toString() value in the tree.
  • Array: this option is available for arrays.
  • Object: this is the default layout available for all non-primitive variable types.
  • Map: this options shows as a map.
  • Collection: this option shows as a collection.
  • File: this option is available for files and is the default layout for java.io.File type variables.
  • User-defined renderer: this option is available for renderers created by the user in Debugger | Type Renderers, or in the Customize Data Views dialog. The corresponding renderer name is shown in the menu.
Adjust RangeN/AThis command is available for arrays and lists and lets you view the contents of an array within the specified range of indices.
Show typesN/ASelect this option if you want to show variables' types.
Customize Data ViewsN/ASelect this option to open the Customize Data Views dialog where you can configure how data is represented.

Variable types

The icon on the left of each variable indicates its type:
  • 1_debuggerStatic.png: static
  • global_variable: global
  • 1_debuggerField.png: field
  • 1_debuggerArray.png: array
  • 1_debuggerPrimitive.png: primitive
  • 1_debuggerObject.png: object

See Also

Last modified: 8 August 2016