diff options
| author | Brian Potchik <brian@vector35.com> | 2025-11-04 11:28:13 -0500 |
|---|---|---|
| committer | Brian Potchik <brian@vector35.com> | 2025-11-04 11:28:13 -0500 |
| commit | 2629ad7f9683c23babbe1b752f07fe56b1ed688e (patch) | |
| tree | 5a28cb6524842412dfd23a63e414c60183a527a8 /python/binaryview.py | |
| parent | 023ec070cf1328879ff95e520a6b14ee092dde60 (diff) | |
Update MemoryMap documentation. (skip-ci)
Diffstat (limited to 'python/binaryview.py')
| -rw-r--r-- | python/binaryview.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index 786a06d9..a2b85c4b 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -2442,12 +2442,19 @@ class AdvancedILFunctionList: class MemoryMap: r""" - The MemoryMap object is used to describe a system level MemoryMap for which a BinaryView is loaded into. A loaded - BinaryView has a view into the MemoryMap which is described by the Segments defined in that BinaryView. The MemoryMap - object allows for the addition of multiple, arbitrary overlapping regions of memory. Segmenting of the address space is - automatically handled when the MemoryMap is modified and in the case where a portion of the system address space has - multiple defined regions, the default ordering gives priority to the most recently added region. This feature is - experimental and under active development. + The MemoryMap object describes a system-level memory map into which a BinaryView is loaded. Each BinaryView + exposes its portion of the MemoryMap through the Segments defined within that view. + + A MemoryMap can contain multiple, arbitrarily overlapping memory regions. When modified, address space + segmentation is automatically managed. If multiple regions overlap, the most recently added region takes + precedence by default. + + All MemoryMap APIs support undo and redo operations. During BinaryView::Init, these APIs should be used conditionally: + * Initial load: Use the MemoryMap APIs to define the memory regions that compose the system. + * Database load: Do not use the MemoryMap APIs, as the regions are already persisted and will be restored automatically. + + This conditional usage prevents redundant operations and ensures database consistency. Using these APIs when loading + from a database will also mark the analysis as modified, which is undesirable. :Example: |
