Memory, Disassembly, Hex views
To view raw memory of the running process, select a variable in the Variables pane and press CtrlEnter or call Show in Memory View from the context menu.
![https://resources.jetbrains.com/help/img/idea/2024.3/ri_memview_invoke.png](https://resources.jetbrains.com/help/img/idea/2024.3/ri_memview_invoke.png)
The Memory View window initially shows a 256-byte region that starts from the chosen address, with higher memory addresses at the bottom of the window. When you then invoke Memory View for other pointers, they are highlighted in the same window, and the region is extended to show more addresses if necessary.
![Memory view during stepping Memory view during stepping](https://resources.jetbrains.com/help/img/idea/2024.3/ri_debug_memview_stepping.png)
When you step through the code, RustRover highlights the changes that happen in the displayed memory region.
Use the Go to field of the Memory View window to jump to a particular address. You can enter the address directly as a hex number, specify a pointer variable or an expression evaluating to a pointer, or use the address of operator &
to get the address of any variable. Use the Take the address link to quickly wrap variables into the addresses:
![Goto in memory view Goto in memory view](https://resources.jetbrains.com/help/img/idea/2024.3/ri_debug_memview_goto.png)
During a debug session you can open the disassembled code
Right-click the desired frame in the Debug tool window and select Disassemble:
Disassembly view will be opened side-by-side with the source code:
Once opened, the disassembly view stays synchronized with the currently selected frame. When frames are switched, both the editor and the disassembly view scroll to the execution point.
When debugging your code, use the Force Step Into
AltShiftF7 command instead of Step Into F7. Step Into acts like Step Over for functions with no source code.
Disassembly view opens automatically when RustRover cannot locate the source files during debugging.
Navigate to the desired frame in the Debug tool window.
Disassembly also opens automatically when you launch a debug session for the attached process that does not provide debug information.
While in disassembly view, you can investigate your code using regular stepping actions and breakpoints.
![Disassembly view Disassembly view](https://resources.jetbrains.com/help/img/idea/2024.3/ri_debug_disasm.png)
Use the Go to field to jump to a desired code line. In this field, you can enter an address or any expression that can be evaluated into an address. If you need to include a register into the expression, start its name with $
(the GDB notation). Using registers in the Go to field while debugging with LLDB requires explicit cast to address. For example, (void *)($pc + 0x8)
.
You can examine hexadecimal representation alongside the original formatting for numerical variables of integer types. By default, hexadecimal view is disabled.
In the Debug tool window, click the
button and select/deselect Debugger Settings | Show Integers as Hex Values.
Once enabled, in the Variables pane, you will see hexadecimal values displayed next to the original values:
![Hexadecimal representation in the Variables pane Hexadecimal representation in the Variables pane](https://resources.jetbrains.com/help/img/idea/2024.3/ri_hex_values_for_variables.png)
Thanks for your feedback!