Skip to content

Commit 2629ad7

Browse files
committed
Update MemoryMap documentation. (skip-ci)
1 parent 023ec07 commit 2629ad7

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

python/binaryview.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,12 +2442,19 @@ def __iter__(self):
24422442

24432443
class MemoryMap:
24442444
r"""
2445-
The MemoryMap object is used to describe a system level MemoryMap for which a BinaryView is loaded into. A loaded
2446-
BinaryView has a view into the MemoryMap which is described by the Segments defined in that BinaryView. The MemoryMap
2447-
object allows for the addition of multiple, arbitrary overlapping regions of memory. Segmenting of the address space is
2448-
automatically handled when the MemoryMap is modified and in the case where a portion of the system address space has
2449-
multiple defined regions, the default ordering gives priority to the most recently added region. This feature is
2450-
experimental and under active development.
2445+
The MemoryMap object describes a system-level memory map into which a BinaryView is loaded. Each BinaryView
2446+
exposes its portion of the MemoryMap through the Segments defined within that view.
2447+
2448+
A MemoryMap can contain multiple, arbitrarily overlapping memory regions. When modified, address space
2449+
segmentation is automatically managed. If multiple regions overlap, the most recently added region takes
2450+
precedence by default.
2451+
2452+
All MemoryMap APIs support undo and redo operations. During BinaryView::Init, these APIs should be used conditionally:
2453+
* Initial load: Use the MemoryMap APIs to define the memory regions that compose the system.
2454+
* Database load: Do not use the MemoryMap APIs, as the regions are already persisted and will be restored automatically.
2455+
2456+
This conditional usage prevents redundant operations and ensures database consistency. Using these APIs when loading
2457+
from a database will also mark the analysis as modified, which is undesirable.
24512458
24522459
:Example:
24532460

0 commit comments

Comments
 (0)