Debug Tool Window. Variables
In this topic:
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.
User-defined constants are grouped under a separate Constants node, which is by default collapsed. Once expanded or collapsed, the Constants node preserves this state across the debugging sessions. Note that if the number of user-defined constants is significant, the stepping performance might decrease. If necessary, you can disable fetching such constants during the debugging session by clicking on the Debug Tool Window toolbar. The Constants node will be hidden.
This toolbar appears only when the Watches pane is hidden so the configured watches are displayed in the Variables pane. Hiding/showing the Watches pane is controlled through the toggle button:
When the button is pressed, which is its default status, the Watches pane is hidden and the toolbar is shown in the Variables pane. The focus is with the Debugger tab.
When the button is released, the toolbar moves to the Watches pane.
Click this button to create a new watch.
Click this button to remove the selected watch from the list.
Use these buttons to change the order of watches.
Use this button to create a copy of the selected watch.
Show watches in Variables tab
Use this toggle button to have the Watches pane hidden or shown. By default, the button is pressed and displayed on the toolbar of the Variables pane. Consequently, the Watches pane is hidden and the watches are shown in the Variables pane.
This 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.
Use this command to add an object label.
Use this command to change the runtime value of a field or a variable.
Use 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 As
This 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:
Compare Value with Clipboard
Use this command to compare the selected value with the value currently in the Clipboard.
Use this command to copy the name of the selected variable to the Clipboard.
Use this command to evaluate the selected variable in the dialog that opens.
Evaluate In Console
Choose this option to have the selected variable copied as input in the Console pane. When you switch to the Console pane, the variable name is shown in green at
Alternatively, type the name of any variable at
Code completion is at your disposal: as you type the name of a variable, PhpStorm displays a suggestion list.
Note that this functionality is available only when the Use Console Input toggle button is pressed.
Add to Watches
This 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 Objects
Use this command to display a list of objects referring to the currently selected variable.
Jump to Source
This command opens the source code of the selected variable or field in the editor and places the caret at the corresponding line.
Jump to Type Source
Use this command to navigate to the definition of the class of the selected variable or field. Suppose, you have
The icon on the left of each variable indicates its type: