Keil Logo

Technical Support

On-Line Manuals

µVision User's Guide

About µVision User Interface Creating Applications Debugging Start Debugging Start Energy Measurement without Debug Application Program Execution Debug Windows and Dialogs Breakpoints Window Call Stack and Locals Window Code Coverage Command Window Component Viewer Disassembly Window Editor Window Event Recorder Setup Event Recorder Event Recorder Window Events Filtering Event Statistics Window Post-mortem Analysis Event Viewer Execution Profiler Instruction Trace Window System Analyzer Usage tips Save System Analyzer Contents Statistics Restrictions Logic Analyzer Setup Setup in Detail Restrictions Cortex-M Trace Configuration Memory Map Memory Window Performance Analyzer Registers Window Serial Window Debug (printf) Viewer Symbols Window System Viewer Adding System Viewer Windows System and Thread Viewer Thread States Toolbox Trace Data Window Trace Navigation Trace Exceptions Event Counters ULINKplus Window Watch Window Core Peripherals Cortex-M0 and Cortex-M0+ Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports (Cortex-M0+ only) Cortex-M3, Cortex-M4, and Cortex-M7 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Cortex-M23/M33/M35P and Cortex-M55 Nested Vector Interrupt Controller System Control and Configuration System Tick Timer Fault Reports Memory Protection Unit Security Attribution Unit M-Profile Vector Extension (MVE) Debug Scripting Expressions Constants System Variables Peripheral Variables I/O Ports Serial Ports Program Variables (Symbols) Fully Qualified Symbols Non-Qualified Symbols Literal Symbols Using Symbols Line Numbers Bit Addresses Type Specifications Memory Attribution Specifiers Operators Differences between µVision and C Expression Examples Code and Data Trace (Cortex-M) Trace Features Configuring Trace Tracepoint Expressions Tracepoint Intrinsics Tracepoint Limitations Tracepoint Marks Tips and Tricks Review Peripherals and CPU Configuration Simulate I/O Ports Simulate Interrupts and Clock Inputs Simulate external I/O Devices Assign Serial I/O to a PC COM Port Check Illegal Memory Access Command Input from File Preset I/O Ports or Memory Contents Write Debug Output to a File Keyboard Shortcuts TPIU Initialization after RESET (Cortex-M) Prevent Opening Files Show Japanese Messages Debug Commands Debug Functions Simulation Flash Programming Dialogs Utilities Command Line Example Programs Appendix

Watch Window

The Watch window allows to evaluate symbols, registers, and expressions. The window displays the item name, value, and type.

Watch Window ButtonOpen this window through the toolbar button or using the menu View – Watch Windows.

Watch Window Display


search box Allows finding expressions within the current name list. The search string can consist of alphanumeric characters and mask characters as described in the appendix F. Regular Search Expressions.
Name Lists the expression name. Symbol names comply to the rules described in Program Variables (Symbols).

Items are marked with an icon:

  • Structure icon - identifies items of a complex type, such as structures or arrays.
  • Simple icon - identifies items of a simple type, such as integers or characters.
Value Shows the memory address or the evaluated value of an expression. This field can contain explanatory text. Expressions of the type unsigned char show the value and the corresponding character. A single-quote () indicates that the value was restored from a previous debugging session.

Values are updated:

  • Whenever program execution stops.
  • During program execution when View - Periodic Window Update is enabled.
  • When clicking the Toolbox button Update Windows.
Type Shows the type of the expression. For functions the field shows the return and parameter types.

Using the Watch Window

Drag&drop expressions to other windows, for example to a Memory, Command, or Logic Analyzer window.

Add an Expression

  • Double-click the text <Enter expression> and start editing. Refer to the section Expressions for details.
  • Drag&drop expressions from other windows into the Watch window.
  • Open the context menu of a file. Use Add item to - Watch #. The variable beneath the mouse position is added to the Watch window.
  • Use the command WatchSet in the window Command.

Remove an Expression

  • Click on the item name and press the Delete key.
  • Use the command WatchKill in the window Command.

Change the Value of an Expression

  • Click on the value-field and start editing. Not all expressions accept changes.

The context menu allows:

  • Removing an expression.
  • Changing the value representation.
  • Setting breakpoints.
  • Adding expressions to other windows.
  • Showing or hiding the toolbar that contains the search box.


You must not use pre or post increment/decrement or assignment operators in the Watch window expression (for example val1--) as this will result in updates to the value being displayed.

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.