# Working with memory

You can inspect and change process memory.

The Memory view supports the same addressing as the C and C++ languages. You can address memory using expressions such as:

- `0x0847d3c`
- `(&y)+1024`
- `*ptr`

You can configure your output to display hexadecimal, ascii and/or signed/unsigned decimal. You can also set the size of the rendering columns. You can configure each memory monitor renderings independently.

You can customize the Memory view to colors and fonts displayed.

To monitor process memory:

1. In the Debug view, select a debug session. Selecting a thread or stack frame automatically selects the associated session.
2. Select "Add Memory Monitor" in the context menu of the Memory Monitors pane. The "Memory Monitor" dialog appears.
3. Type the address or expression that specifies the memory section you want to monitor and press "OK". The monitor appears in the monitor list and the Memory Renderings pane displays the contents of memory locations beginning at the specified address.

To view memory in a different rendering:

1. Select "Add Rendering" in the context menu of the Memory Renderings pane. The "Add Memory Rendering" dialog appears.
2. Select renderings from the list and press "OK".

To change process memory:

Warning: Changing process memory can cause a program to crash.

1. In the Debug view, select a debug session. Selecting a thread or stack frame automatically selects the associated session.
2. In the Memory Monitors pane, add a new monitor or select an existing monitor.
3. In the Memory Renderings pane add a new rendering or select an existing one.
4. Type a new value for memory.

C/C++ Development perspective

Debugging

Debug views