You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-10Lines changed: 32 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,8 @@ A Visual Studio Code extension that provides a powerful and configurable memory
14
14
-**Memory Management**: Enables saving and restoring memory data for specific address ranges (Intel Hex format).
15
15
-**Customized Views**: Create and customize as many memory views as you need.
16
16
-**Lock Views**: Keep views static, unaffected by updates from the debug session.
17
+
-**Periodic Refresh**: Automatically refresh the memory data.
18
+
-**Multiple Debug Sessions**: Switch between multiple debug sessions using a dropdown in the memory view.
17
19
- And much more
18
20
19
21
## Getting Started
@@ -22,12 +24,12 @@ A Visual Studio Code extension that provides a powerful and configurable memory
22
24
23
25
1.**Install**: Add the extension to VS Code.
24
26
2.**Verify Debugger Capability**: Ensure the debug adapter supports [`ReadMemory` requests](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_ReadMemory).
25
-
3.**Enable Debug Type**: Enable the Memory Inspector for the debug configuration type (VS Code setting *Debug Types*: `memory-inspector.debugTypes`).
27
+
3.**Enable Debug Type**: Enable the Memory Inspector for the debug configuration type (VS Code setting _Debug Types_: `memory-inspector.debugTypes`).
26
28
27
29
### Use Memory Inspector
28
30
29
31
1.**Debug Session**: Start a debug session.
30
-
2.**Open Memory Inspector**: Either run the *Memory: Show Memory Inspector* command or right-click a variable in the Variables view and select *Show in Memory Inspector*.
32
+
2.**Open Memory Inspector**: Either run the _Memory: Show Memory Inspector_ command or right-click a variable in the Variables view and select _Show in Memory Inspector_.
31
33
3.**Adjust View**: Modify the memory range you're interested in, as needed.
32
34
33
35
## Configuration
@@ -42,20 +44,40 @@ Use the following to adjust the view to your needs and the inspected memory arch
42
44
43
45

44
46
45
-
1.**Bytes per MAU**: The number of *Bytes* that form the Minimum Addressable Unit. It commonly is a fixed number for a specific target hardware. Use for example a value of `1` for byte-addressable architectures.
46
-
2.**MAUs per Group**: The number of *MAUs* that form a *Group* considering the selected *Endianess*. Use for example a value of `2` to form a 4-byte value consisting of `2` 2-byte MAUs.
47
-
3.**Groups per Row**: Number of *Groups* to display in a row. This can be a fixed number of *Groups*. Or the value `Autofit` to let the Memory Inspector calculate the best utilization of space in the `Data` column.
48
-
4.**Group Endianess**: The order of *MAUs* within a *Group*. The value can be `Little Endian` or `Big Endian`.
47
+
1.**Bytes per MAU**: The number of _Bytes_ that form the Minimum Addressable Unit. It commonly is a fixed number for a specific target hardware. Use for example a value of `1` for byte-addressable architectures.
48
+
2.**MAUs per Group**: The number of _MAUs_ that form a _Group_ considering the selected _Endianess_. Use for example a value of `2` to form a 4-byte value consisting of `2` 2-byte MAUs.
49
+
3.**Groups per Row**: Number of _Groups_ to display in a row. This can be a fixed number of _Groups_. Or the value `Autofit` to let the Memory Inspector calculate the best utilization of space in the `Data` column.
50
+
4.**Group Endianess**: The order of _MAUs_ within a _Group_. The value can be `Little Endian` or `Big Endian`.
49
51
50
52

51
53
52
54
The following terminology is used:
53
55
54
56
-**Byte**: A data unit of 8 Bits.
55
-
-**MAU (Minimum Addressable Unit)**: A Minimum Addressable Unit of memory. It consists of one or more *Bytes* represented by a single address.
56
-
-**Group**: A group of *MAUs* that forms a data value. *Groups* are the Memory Inspector's default granularity to edit memory contents.
57
-
-**Row**: A row in the Memory Inspector display containing multiple *Groups*.
58
-
-**Endianess**: The order of displaying *MAUs* within a *Group*.
57
+
-**MAU (Minimum Addressable Unit)**: A Minimum Addressable Unit of memory. It consists of one or more _Bytes_ represented by a single address.
58
+
-**Group**: A group of _MAUs_ that forms a data value. _Groups_ are the Memory Inspector's default granularity to edit memory contents.
59
+
-**Row**: A row in the Memory Inspector display containing multiple _Groups_.
60
+
-**Endianess**: The order of displaying _MAUs_ within a _Group_.
61
+
62
+
### Periodic Updates
63
+
64
+
The Memory Inspector can automatically refresh displayed memory data based on different triggers. You can configure the auto-refresh behavior using the following options:
65
+
66
+

67
+
68
+
-**On Stop**: Refreshes memory data when the program pauses.
69
+
-**Periodic Refresh**: Refreshes memory data after a specified delay.
70
+
-**Always**: Refreshes memory data continuously, regardless of the program execution state.
71
+
-**While Running**: Refreshes memory data only when the program is running.
72
+
-**Off**: Disables automatic refresh of memory data.
73
+
74
+
These settings can be adjusted individually for each Memory Inspector view or globally in the preferences.
75
+
76
+
### Multiple Debug Sessions
77
+
78
+

79
+
80
+
The Memory Inspector supports multiple debug sessions. If multiple debug sessions are active, a dropdown appears in the memory view which allows you to switch between them. This enables you to target different debug sessions in multiple windows, simultaneously.
0 commit comments