Watches
The Watches window is best suited for watching and modifying high level variables - symbols with associated type. You do not need to bother with their locations; you only need to specify their name and winIDEA will resolve them for you.
The Watches Window allows you to:
![]() |
To improve winIDEA responsiveness when high real-time access updates are required, Watch window updates only items currently visible in the watch window. If, for example, you wish to inspect only a part of an array, you may set watch window to only display the relevant part of the array, to improve responsiveness. |
To open Watches Window select View menu / Debug / Watches or select Watches Window button on main toolbar.
![]() |
Icon |
Name |
Description |
---|---|---|
Add New Watch |
Opens the Browsing Variables window to add new watch. You can also configure a new watch expression by: 1. selecting an empty line in the watch window and start entering the watch expressions or; 2. select the expression you wish to watch in the editor and drag it to the watch window. |
|
Delete Watch |
Deletes the selected watch element. |
|
Select All Watches |
Select all watches available in the list. |
|
Real Time update |
Enable/Disable Real-time update. Watches Window can show normal watch and real-time watch panes. Normal Watches can be used to view variables when the CPU is stopped. Real-time Watches can be used to follow the value of the variable in real-time. |
|
Toggle Hex Mode |
Toggles the display value between decimal and Hexadecimal. |
|
Set Display Mode |
Opens Watch Display window where graphical display can be enabled. See Display mode for more detailed explanation. |
|
![]() |
Properties |
Opens Properties window. |
Create init script |
Creates Python Initialization script. |
|
Find Watch |
Find Watch |
|
Export as watch list |
Saves variables watch list to the disk in a workspace folder. |
|
Import from watch list |
Creates a new watch list, scans the workspace folder and looks for available *.xwl files. Select a file to import from a small pop-up window. |
Display pane shows the values of the specified watch items. Content is displayed in the following columns:
Name
Specified watch item name. For more control over specifying watch items please read the Watch Expressions chapter.
Complex data types
Can be watched by expanding the tree box expression. Structures, unions and class members will also be shown. If these are complex as well, they can be expanded further until a simple type is reached.
When expanding a pointer the value that the pointer points to is shown in the expanded leaf. This can again be expanded until a simple type is reached.
Watches Window retains expanded structure of a complex type even if the expression goes out of scope, and retains values of expression which are currently invalid (out of scope, memory access error,…). When out of scope, the structure is retained, but values are displayed in gray color.
![]() |
If the expression is changed or the expression can evaluate to a different type in a changed context, the structure is collapsed. |
![]() |
In older version of winIDEA default color when modifying value or focusing a specific symbol is red with gray background which provides bad contrast. In updated version of winIDEA this has been changed, but the older default color stays in your saved option values. To improve visibility *xtrf file has to be deleted: (i) Click Start or Cortana search icon in Windows 10; (ii) In search box type in %appdata% and select the folder, (iii) In AppData/Roaming file delete [USER]\AppData\Roaming\ASYST\winIDEA\winIDEA.xtrf |
Value
Value is displayed either in decimal or hexadecimal format, based on the Hexadecimal display option (available in the toolbar/context menu), together with a representation in the specified format. Double-click the value to modify it. Displayed value can be additionally modified by the ANSI C printf syntax.
winIDEA can only modify values of expressions that evaluate to a target system address (also called Lvalues). You can't modify constant expressions or Rvalues. Here are some expressions whose value can be modified:
c variable 'c'
:0x1000 memory at address 1000h
and following can't:
1 constant
c+1 Rvalue
![]() |
If the expression does not change, the CPU might have problems with write access to that location. |
Type
Watch item type, as detected by winIDEA, is displayed. The type can be manually overridden with type modifiers specified with the watch name.
Address
Watch item address is displayed.
Error
Error message is displayed in case the watch item can not be evaluated. Common error messages:
The Watch Window enables to drag-and-drop and join real-time and normal watches (also other windows) to one window in panes. Panes are easily switched by clicking on the appropriate pane selector. This way you can configure a larger number of watches without having to constantly scroll. Settings for real-time updates can be changed in Debug / Debug Options / Update dialog.
![]() |
Existing watches will be removed when a new watch list is loaded. |
Variables configured in the Watch window can be used to directly set a hardware write access hardware breakpoint. When a single variable whose address is linear in memory space (i.e. not in a register, or using a register offset), Set Write Breakpoint command in the context menu configures the hardware access breakpoint logic (if available on the current platform).
You open the context menu with right-clicking within the Watches Window.
![]() |
Hexadecimal display - Toggles the display value between decimal and hexadecimal.
Format - winIDEA will display high level variable values formatted according to their data type. If you wish to override default formatting or to enforce a type to a typeless expression, you can use type modifiers.
Expand Full - Complex data types can be watched by expanding the tree box expression. Structures, unions and class members will also be shown. If these are complex as well, they can be expanded further until a simple type is reached.
Real Time - Enable and disable real-time watches update.
Add Watch - Opens the Browsing Variables window to add new watch.
When a single variable whose address is linear in memory space (i.e. not in a register, or using a register offset) is selected, the context menu’s Set Write Breakpoint option configures the hardware access breakpoint logic (if available on the current platform). The configurations of the breakpoint can be found in the Hardware Breakpoints dialog.
Delete Watch - Delete selected watch.
Create Initialization Script - The watch window can create an initialization script.
Properties - Show more detailed properties of the selected variable.
Save - Opens a dialog Export Init Script where you can save/export watches values.
Auto Fit - Adjusts the width of columns to fit the content into the available space.
Options - Provides access to the dialog that allows customization of colors and fonts of the Watches Window.
To display or hide columns, right-click on a column header and select what you want to see. |
Watches Options
To configure colors and fonts and fonts right-click in the window and select Options from the context menu.
More resources |