The Watches window lists all variables and expressions that you have specified to watch while debugging. By default, the Watches window opens automatically whenever you start a debugging session. You can open the Watches window by choosing Window > Debugging > Watches.
If you open the Watches window when a debugging session is running, it closes automatically when you end the debugging session. If you open the window when no debugging session is running, it stays open until you close it.
The information given for each watch includes the variable or expression name, type, and value. If the variable has a control to its left, you can click the control to expand or collapse the object. If the object type is displayed in blue underlined text, clicking the text jumps to the object type in the source code. You can click in the Value cell to edit the value directly in the Watches window.
When you add a new variable or expression to the Watches window, the value of the variable or expression is immediately evaluated and displayed. The value of a watch is based on the current context. As you move through your program code, the Watches window is updated to show the value of the watch for that context.
In some cases, the debugger assigns a pound sign (#) and a number as the variable's value. This number is a unique identifier of the given instance. You can use this identifier to determine if a variable points to the same or to a different instance. You cannot edit this value.
The following table describes the icons displayed to the left of the object name.
Icon | Description |
---|---|
![]() |
Watch object |
![]() |
Fixed watch object |
![]() |
Container for a superclass |
![]() |
Static field of an object |
![]() |
Non-static field of an object |
The pop-up menu in the Watches window includes the following items.
Menu Item | Description |
---|---|
Create Fixed Watch | Enables you to create a fixed watch for the object. |
New Watch | Enables you to create a new watch. |
Delete | Removes the selected object from the Watches window. |
Delete All | Removes all objects from the Watches window. |
Customize | Opens a dialog box in which you can modify the watch expression. |
List Options | Enables you to customize the display of the Watches window, including adding and removing columns of information, reordering the columns, and sorting the columns. See Customizing a Debugger Window for more information. |
You can see all the properties for a watch by right-clicking the node for the watch and choosing Properties.
By default, all properties are also displayed directly in the Watches window, except for the toString() property.