You can monitor an expression that uses the following types of operands only:
| Operand | Definition |
|---|---|
| Variable | A variable used in your program that is visible in the context
in which the expression is to be evaluated. Note: Variables that have
been declared as extern and static class data members
are not always visible within the debugger.
|
| Constant | The constant can be one of the following types:
Suffixes on constants may be used as defined by the language that you are debugging. |
| Register | Any of the processor registers that can be displayed in the Registers view. In the case of conflicting names, program variable names take precedence over register names. For conversions that are done automatically when the registers display in mixed-mode expressions, general-purpose registers are treated as unsigned arithmetic items with a length appropriate to the register. |
If you monitor an enumerated variable, a comment is displayed to the right of the value. If the value of the variable matches one of the enumerated types, the comment contains the name of the first enumerated type that matches the value of the variable. If the length of the enumerated name does not fit in the monitor, the contents are displayed as an empty entry field.
The comment (empty or not) lets you distinguish between a valid enumerated value and an invalid value. An invalid value does not have a comment to its right.
You cannot look at macros that have been defined using the #define preprocessor directive.