Package ghidra.trace.database.program

# Class DBTraceProgramViewMemory

java.lang.Object
ghidra.trace.database.program.AbstractDBTraceProgramViewMemory
ghidra.trace.database.program.DBTraceProgramViewMemory

All Implemented Interfaces:
  `AddressSetView`, `Memory`, `TraceProgramViewMemory`, `MemoryAdapter`, `Iterable<AddressRange>`

public class DBTraceProgramViewMemory extends AbstractDBTraceProgramViewMemory

- ## Field Summary

  ### Fields inherited from class ghidra.trace.database.program.AbstractDBTraceProgramViewMemory

  `cache, memoryManager, program`

  ### Fields inherited from interface ghidra.program.model.mem.Memory

  `GBYTE, GBYTE_SHIFT_FACTOR, MAX_BINARY_SIZE, MAX_BINARY_SIZE_GB, MAX_BLOCK_SIZE, MAX_BLOCK_SIZE_GB`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceProgramViewMemory(DBTraceProgramView program)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected AddressSetView`
  `computeAddressSet()`
  `protected AddressSet`
  `computeRegionsAddressSet()`
  `protected NavigableMap<Address,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry>`
  `computeRegionsByAddress()`
  `protected Map<String,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry>`
  `computeRegionsByName(Collection<ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> regions)`
  `protected AddressSet`
  `computeSpacesAddressSet()`
  `protected void`
  `forPhysicalSpaces(Consumer<AddressSpace> consumer)`
  `protected void`
  `forVisibleRegions(Consumer<ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> action)`
  `MemoryBlock`
  `getBlock(Address addr)`
  Returns the Block which contains addr.
  `MemoryBlock`
  `getBlock(String blockName)`
  Returns the Block with the specified blockName
  `MemoryBlock[]`
  `getBlocks()`
  Returns an array containing all the memory blocks.
  `AddressSetView`
  `getExecuteSet()`
  Returns the set of addresses which correspond to the executable memory.
  `protected MemoryBlock`
  `getRegionBlock(ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry entry)`
  `protected NavigableMap<Address,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry>`
  `getRegionsByAddress()`
  `protected Map<String,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry>`
  `getRegionsByName()`
  `protected MemoryBlock`
  `getSpaceBlock(AddressSpace space)`
  `protected void`
  `invalidateRegions()`
  `void`
  `updateAddSpaceBlock(AddressSpace space)`
  `void`
  `updateBytesChanged(AddressRange range)`
  `void`
  `updateDeleteSpaceBlock(AddressSpace space)`
  `void`
  `updateRefreshBlocks()`

  ### Methods inherited from class ghidra.trace.database.program.AbstractDBTraceProgramViewMemory

  `contains, contains, contains, convertToInitialized, convertToUninitialized, createBitMappedBlock, createBlock, createByteMappedBlock, createFileBytes, createInitializedBlock, createInitializedBlock, createInitializedBlock, createUninitializedBlock, deleteFileBytes, findBytes, findBytes, findFirstAddressInCommon, getAddresses, getAddresses, getAddressRanges, getAddressRanges, getAddressRanges, getAddressSourceInfo, getAllFileBytes, getAllInitializedAddressSet, getByte, getBytes, getFirstRange, getInitializedAddressSet, getLastRange, getLoadedAndInitializedAddressSet, getMaxAddress, getMinAddress, getNumAddresses, getNumAddressRanges, getOrComputeAddressSet, getProgram, getRangeContaining, getSize, getSnap, getTrace, hasSameAddresses, intersect, intersectRange, intersects, intersects, invalidateAddressSet, isBigEndian, isEmpty, isForceFullView, iterator, iterator, iterator, join, moveBlock, removeBlock, setByte, setBytes, setForceFullView, split, subtract, union, xor`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface ghidra.program.model.address.AddressSetView

  `getAddressCountBefore, spliterator, spliterator, spliterator, stream, stream, stream`

  ### Methods inherited from interface java.lang.Iterable

  `forEach`

  ### Methods inherited from interface ghidra.program.model.mem.Memory

  `createByteMappedBlock, isExternalBlockAddress, locateAddressesForFileBytesOffset, locateAddressesForFileOffset`

  ### Methods inherited from interface ghidra.trace.util.MemoryAdapter

  `getBytes, getInt, getInt, getInts, getInts, getInts, getLong, getLong, getLongs, getLongs, getLongs, getShort, getShort, getShorts, getShorts, getShorts, mustRead, setBytes, setInt, setInt, setLong, setLong, setShort, setShort`

- ## Constructor Details

  - ### DBTraceProgramViewMemory

    public DBTraceProgramViewMemory(DBTraceProgramView program)

- ## Method Details

  - ### forPhysicalSpaces

    protected void forPhysicalSpaces(Consumer<AddressSpace> consumer)

  - ### computeRegionsByAddress

    protected NavigableMap<Address,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> computeRegionsByAddress()

  - ### computeRegionsByName

    protected Map<String,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> computeRegionsByName(Collection<ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> regions)

  - ### getRegionsByAddress

    protected NavigableMap<Address,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> getRegionsByAddress()

  - ### getRegionsByName

    protected Map<String,ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> getRegionsByName()

  - ### forVisibleRegions

    protected void forVisibleRegions(Consumer<ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry> action)

  - ### computeRegionsAddressSet

    protected AddressSet computeRegionsAddressSet()

  - ### computeSpacesAddressSet

    protected AddressSet computeSpacesAddressSet()

  - ### computeAddressSet

    protected AddressSetView computeAddressSet()
    Specified by:
      `computeAddressSet` in class `AbstractDBTraceProgramViewMemory`

  - ### getRegionBlock

    protected MemoryBlock getRegionBlock(ghidra.trace.database.program.DBTraceProgramViewMemory.RegionEntry entry)

  - ### getSpaceBlock

    protected MemoryBlock getSpaceBlock(AddressSpace space)

  - ### getBlock

    public MemoryBlock getBlock(Address addr)
    Description copied from interface: `Memory`
    Returns the Block which contains addr.
    Parameters:
      `addr` - a valid data Address.
    Returns:
      the block containing addr; null if addr is not a valid location.

  - ### getBlock

    public MemoryBlock getBlock(String blockName)
    Description copied from interface: `Memory`
    Returns the Block with the specified blockName
    Parameters:
      `blockName` - the name of the requested block
    Returns:
      the Block with the specified blockName

  - ### getBlocks

    public MemoryBlock[] getBlocks()
    Description copied from interface: `Memory`
    Returns an array containing all the memory blocks.
    Returns:
      an array containing all the memory blocks

  - ### getExecuteSet

    public AddressSetView getExecuteSet()
    Description copied from interface: `Memory`
    Returns the set of addresses which correspond to the executable memory.
    Returns:
      the set of addresses which correspond to the executable memory

  - ### invalidateRegions

    protected void invalidateRegions()

  - ### updateAddSpaceBlock

    public void updateAddSpaceBlock(AddressSpace space)

  - ### updateDeleteSpaceBlock

    public void updateDeleteSpaceBlock(AddressSpace space)

  - ### updateRefreshBlocks

    public void updateRefreshBlocks()

  - ### updateBytesChanged

    public void updateBytesChanged(AddressRange range)