### Set Storage Change

Use the Set storage change choice to cause execution to stop whenever storage at a specific address is written to. Execution stops even if the value written to storage is the value that was already present at that address. You can set up to four breakpoints.

Caution: If you set a storage change breakpoint for an address that is on the call stack, be sure to remove the breakpoint before leaving the routine associated with it. Otherwise, when you return from the routine, the routine's stack frame will be removed from the stack, but the breakpoint will still be active. Any other routine that gets loaded on the stack will then contain the breakpoint.

In the Address or Expression entry field, you can type the address or a variable name or expression that evaluates to a valid address.

C++: You can also enter the address of a variable, by preceding the variable name with an ampersand (for example, `&myVariable`).

Note: If you type FEEDBEEF in the Address or expression entry field, and there is a variable named FEEDBEEF, the debugger will interpret the entry as the variable FEEDBEEF, not the hex value FEEDBEEF.

More information is available on the following fields:

- Bytes to monitor
- Thread
- Frequency

Supported C++ expressions
Valid Addresses and Expressions